公告版位
星落的瞬間!放棄的後悔是永遠!

目前分類:程式問題解決 (118)

瀏覽方式: 標題列表 簡短摘要

一開始是發現只要是含有虛擬指標的物件使用到了inline function時,
都有可能少算8bytes/64bits的位移,為什麼呢?
唉,這樣我的計算程式又qq了,

舉例來說:
vtk有個vtkIdList, sizeof(vtkIdList) = 56
可以儲存一個整數集合,vtkIdList 有三個成員,
定義 typedef int vtkIdType; , sizeof(int) = 4
vtkIdType NumberOfIds;
vtkIdType Size;

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

金手指用太多,會當機的,
不過用出來時真的很有用,
非到不可以不要亂用,
不然就會像抗生素加放羊的孩子,
會沒有效。 


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

而且所有外掛、插件、plugin一樣都能用,
記憶體使用量還是原本的30%,原來吃2.1g現在吃650mb,
速度沒有什麼東西可以實測,
原本我會怪說是我開分頁開太多,
但我已經買了i7 + 16gb ram了,
這樣還lag,你說 firefox是不是要自己去死一死,
看到那個沒是就衝爆一個核心的使用量 12~13%,
我的cpu是8 threads的,100/8=12.5,
12~13%根本就是在for無限迴圈嘛~~~
現在看到palemoon 只花了 0~1%,

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

因為安裝版的一直爆掉,
免安裝版的外掛裝不上去,
終於發現一個解法了,
把免安裝版的google chrome複製到c:\下,
就可以安裝外掛,
再複製回去即可。 


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

chrome 
使用了多process的技術
有什麼好處?
自己有自己的資源,不會因為這個process當掉影響到其它的process,
如果是 thread 的話,自己當掉整個process也當掉,
因為os自己會為多個process省掉了同步的問題,因為每個分頁可以不同步

firefox
所有的分頁共用同一個process & thread
只要有一個分頁或小設定當掉,全部都當掉,只能重開

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

setlocale(LC_ALL, "cht");
wcstombs(ansi, unicode, INT_MAX);
如果沒有先設定locale就用wcstombs遇到非英文就爆了。

mbstowcs()更慘不管怎樣都爆,
請用MultiByteToWideChar(CP_ACP, 0, ansi, strlen(ansi), unicode, 2048 );


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

原因出在系統還原點,
不過如果設定正確的話是不會有什麼問題的,
不過在我更新到sp1後,不知道為什麼,
還原點的容量被設成了0,但還原的功能還是開著,
導致建立還原點時沒有空間,就當在那邊了,
話說我的jdk安裝了1個小時,有沒有那麼扯= =
解決方法就是關掉還原功能,再打開設定還原點儲存大小不為0就可以了。


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

http://www.codeproject.com/KB/cpp/Examples-64-bit-Errors.aspx

簡單來說:
跟 stl 容器互動請用 size_t
小心 指標的指標轉型後內容大小不一樣

最有趣的就是這張圖了。


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

http://www.ultimatepp.org

最近這個 gui 的 library 感覺愈做愈好了,
我會喜歡的原因主要是因為,他的程式庫很小,
不過有時對各種字元編碼的支援還不夠完善,
編譯他的範例程式時,少部份會出現ERROR都是因為這個問題,
之前也是因為這個問題才沒用它的。
而且我很喜歡他的一個範例程式叫EyeCare,
功能就是每N分鐘叫你起來休息M分鐘,對我來說實在很不錯^^
心情不好時來加個音效的小功能好了。
不過它到處加 using namespace Upp; 實在讓人高興不起來。

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

如果你的程式跟其它程式用pipe溝通時,會有鎖住的問題的話,
導致別人需要用 fflush(stdin); 或 std::cin.sync(); 來清除緩衝區的話,
很有可能是你輸入了非螢幕可顯示的字元,導致對方的緩衝區被塞住。


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

範例:

InOutCell        g_inout;
std::stringstream    &g_outss = g_inout.m_outstream;
std::stringstream    &g_inss = g_inout.m_instream;

static int LuaGetNumber(lua_State* luaState)
{
    double n;
    g_outss >> n;
    lua_pushnumber(luaState, n);
    return 1;

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

結果不到5分鐘就加好了...
測試碼:

#define _STLP_USE_STATIC_LIB
#include <iostream>
#include <fstream>
#include <string>

void SaveDatFile( const std::wstring path )
{
    std::ofstream fIn;

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

有寫過vtk的人應該都用過vtkSmartPointer
而它初始化的方法就像

//member variable
vtkSmartPointer<vtkImageData> m_idata;
//on member funtion
m_idata = vtkSmartPointer<vtkImageData>::New();
m_idata->Initialize();

這樣又清楚又長,因為我為了縮短給他作了一個巨集:

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

像是accumulate, inner_product 這類數值演算法,都有個init_value,
一般我們會丟0,但如果你計算的是double之類有小數點的東西,就會得到不預期的結果... ...
請小心使用0.0或0.0f當初值。


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

code : http://damody.googlecode.com/files/TTimer.7z

感覺可能有小錯,請多指教。
template<class TIMER_IMP>
class TTimer
{
public:
    enum TimerState
    {
        RUNNING,

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

因為別人不會有pthread,
動態連結不需要什麼注意,只要有dll就對了
, 靜態連結的話要注意,編lib時要
#define PTW32_STATIC_LIB
使用這個靜態程式庫時也要
#define PTW32_STATIC_LIB
然後使用pthread函數前要先call
pthread_win32_process_attach_np();
離開時
pthread_win32_process_detach_np();

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

http://efreedom.com/Question/1-1388871/Get-List-Available-Serial-Ports-Win32
根據這邊的程式來測的。
http://com0com.sourceforge.net/
上google聽這位仁兄說
http://florent.clairambault.fr/tag/com0com
需要小patch?
http://www.ngohq.com/home.php?page=Files&go=cat&dwn_cat_id=34&go=giveme&dwn_id=826
真的嗎?
試了沒用。


讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()


伸手拿杯
手伸起來往前,放下,拿杯,拿回來。
手昇起30公分,向前90公分,手打開90度角,手下降20公分,手合起到60度角,手昇起20公分,手向後90公分,手向下30公分。






讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

我說的porting是把一套軟體在有或沒有source code的情況下移稙到另一個環境,
可能是
軟體版本
Window XP NoSP,SP1~3
Window Vista NoSP,SP1
visual studio 2008 sp1
visual studio 2005 sp1
作業系統
win<->linux<->BSD<->MAC
硬體

讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()

之前都是開xp的vm來看,現在終於不用了= =
先去載這個http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
Autoruns
然後先打開gom隨便開一個加速會錯的影片
右鍵點檔案資訊

可以看到你的編碼器


現在打開Autoruns,點

讓地獄深紅的天亮 發表在 痞客邦 留言(2) 人氣()