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

目前分類:程設心得 (118)

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


Microsoft Access
http://support.microsoft.com/kb/149558/zh-tw
http://msdn.microsoft.com/en-us/library/cc811599.aspx
http://msdn.microsoft.com/en-us/library/ms714562%28v=vs.85%29.aspx
http://www.codeproject.com/Tips/455133/A-64-Bit-Version-of-ODBCTracer

MongoDB
https://downloads.mariadb.org
http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-cpp-driver/

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

本來打了很長的文章被 PIXNET 吃掉了,
懶的重打,就簡介一下:

我想要有一個網站功能是
上傳圖片=>影像處理=>顯示圖片

查了資料有
FastCGI / CGI C++ Library
http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm
http://chriswu.me/blog/writing-hello-world-in-fcgi-with-c-plus-plus/

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

在看 CGAL 時發現的,他的 library 都是這樣一個 all_file.cpp 裡面就這樣寫。
當然在修修改改的時期這樣會變慢,不過可以減少連結時間的感覺。

#include "CGALCore/BigFloat.cpp"
#include "CGALCore/CoreAux.cpp"
#include "CGALCore/CoreDefs.cpp"
#include "CGALCore/CoreIO.cpp"
#include "CGALCore/Expr.cpp"
#include "CGALCore/extLong.cpp"
#include "CGALCore/GmpIO.cpp"

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

bool PicObject::LoadPic( const char* path )
{
        CxImage* newImage = new CxImage();
        newImage->Load(L"D2.png");
        size_t w = newImage->GetWidth();
        size_t h = newImage->GetHeight();
        SDL_Surface *f_res = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h,32,0,0,0,0);
        m_pic = SDL_DisplayFormatAlpha( f_res );
        SDL_FreeSurface (f_res);
        f_res = m_pic;
        Uint8* res_data = (Uint8*)f_res->pixels;
        Uint8* buffer = 0; (Uint8*)newImage->GetBits();
        long Size=0;
        newImage->Encode2RGBA(buffer, Size);
        printf("bpp %d\n", newImage->GetBpp()); // bpp == 24
        for (size_t i = 0;i<h;++i)
        {
                for (size_t j=0;j<w;++j)
                {
                        size_t sh = h-i-1;
                        res_data[(sh*w+j)*4+0] = buffer[(i*w+j)*4+2];
                        res_data[(sh*w+j)*4+1] = buffer[(i*w+j)*4+1];
                        res_data[(sh*w+j)*4+2] = buffer[(i*w+j)*4+0];
                        res_data[(sh*w+j)*4+3] = buffer[(i*w+j)*4+3];
                }
        }
        m_pic = SDL_DisplayFormatAlpha( f_res ); 
        //Free the old image
        SDL_FreeSurface (f_res); 
        //If the surface was optimized
        if (m_pic)
                return true;
        else
                return false;
}

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

目前最新的穩定版是1.1:http://sourceforge.net/projects/boost-log/files/
要用之前要引入需要的檔案,
注意:引入filesystem.hpp是因為它不會自動連結filesystem的lib。

#include <boost/filesystem.hpp>
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/filters.hpp>
#include <boost/log/sinks.hpp>
#include <boost/log/common.hpp>
#include <boost/log/attributes.hpp>

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

qt 一定要qmake 且編譯連結慢
qt的可視化編輯還不錯,可惜物件有點少

wx 還不錯跟mfc又很像,一堆控件可以選感覺不錯
可視化用dialogBlocks還不錯用。

mfc 好上手,編譯連結快的,最大的缺點就是MDI SDI不能可視化編輯
http://10rem.net/blog/2010/03/25/your-first-mfc-cplusplus-ribbon-application-with-visual-studio-2010
最新的2010有編輯器了耶!雖然只能編功能表啦~

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

http://lua-users.org/wiki/UnicodeIdentifers

他說只要把所有的code都改成wchar* 就可以讓lua變成unicode神,
可是連輸出都要是wprintf  putws wscanf swscanf 才行呀!
而且所有常數字串都要加L""
我真的覺得他沒有自己試過,我現在正在改,感覺再5工作時數就可以編譯過開始debug了。


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

首先不要太認真,任何事物都應該要好玩有趣才對,
但好玩有趣的文章通常是戰文,就懷著看少數民族語言的字典之心情來看吧!呵哈!
從一年以前我就一直在看一本中英對照書,
Gerald M. Weinberg 著的 Becoming A Technical Leader:An Organic Problem-Solving Approach
不過可能是因為英文太硬的關係,我一直讀不完,
而且讀到四分之一時前面又忘了,只好重看。

最近回家看到我弟買的一本,"為什麼A+巨人也會倒下",
我就發現了,這些後帝王時代的強者(不管什麼時候、狀況都在進步的怪物),
他們的種族的科技樹的一小部份,都可以讓隨便一個弱小種族,

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

國小時候的我還蠻會讀書的,
但國中時就遇到了瓶頸,
也不知道為什麼,
我從以前就很不太會跟成績好的同學打交道,
另外我從國中就想做mmorpg了,
很多國中時的朋友都沒有繼續讀下去,
小學男同學更是一半都當兵了,
俗話說勿以己之短較人之長,
我對考試愈來愈力不從心,
不過好險,除了考證照以外,

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

我從以前就一直被認為是怪人
所以我有時會想了解什麼是"普通"
要怎麼變成"普通人"
最近終於有點摸到邊的感覺,
就是,這個人在經歷了另一個人同樣的事情經歷後,
在某個重大決擇中做出同樣的選擇,
而幾乎所有人都做出了同樣的選擇,
這就是普通,
跟性格也許有一點關係,
跟智慧也許也有一點關係,

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

http://www.youtube.com/watch?v=Y4jqHujHSDc&feature=related


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

目標學生:愛玩技術愛學技術。
c++篇

vc 資源檔使用教學
masm 基本教學
編譯與使用動態靜態library
寫一個com+物件,並用vb/c#呼叫
寫一個ocx物件,並用vb/c#呼叫
std::vector/list/map 使用教學
智慧型指標

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

主要需要下列功能,
把hwnd傳給c++繪圖,
使用 c++ port 給vb的class
使用 c++ 的函數
發現ATL可以簡單的做到,
不過vb主要是強在介面,還在研究怎樣快速把c++ porting到vb
為什麼要這樣做?
因為c++編譯太慢,加介面太難搞。


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

這是結果。


這是狀態。

到底在算什麼呢?
這是我們LAB的外藉生的一個PROJECT是用2D圖片對三維影像重建,
算了半小時吧!
之前用他那台i5-2500 ram:8gb 算了一天多(30幾個小時)都沒算完,我的電腦算了半小時,

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

有關新一代展,
大部份的數位多媒體學生還沒有一個framework或work flow來做一個麥當勞等級的作品,
我覺得可以用做一套比virtools難一點的library,
可以建立在 .net 環境或是 c++ 環境,
並提供一套制式的工作方法來做,
可以輕鬆但不是快速的完成最低要求水準,
我個人是覺得在同人市場這方面有利可圖,
畢竟virtools要幾十萬,
如果有完整的技術支援,
什麼是完整的技術支援,就是清楚的告訴使用者,

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

主要是在記憶體的用量上,
32位元的程式頂多吃約2.8g就吃不上去了,
可是64位元的記憶體可以吃到十幾g,
喔,真的是差太多了,最近也開始考慮專案要同時支援32與64位元了。

最主要是最近在寫vtk的pluging時,
發現計算一些中型的資料時,很花記憶體,
另外就是使用gc時會更花記憶體,
唉,我真是浪費記憶體。


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

void DisplayWinApiError(std::wstring pszAPI)
{
    LPVOID lpvMessageBuffer;
    wchar_t szPrintBuffer[512];
    DWORD nCharsWritten;
    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
        NULL, GetLastError(),
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR)&lpvMessageBuffer, 0, NULL);

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

要使用多執行緒加速你的工作,
首先要找到不需要同步的部份,而且愈多愈好,
然後再需要同步的部份,
把他們鎖起來。
能盡量不同步就不同步,
可以用空間換時間,
不過通常很容易就不能再換了,
記得最後打開thread衝呀!


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

Boehm gc
附上編譯的程式庫 http://damody.googlecode.com/files/gc-7.1-vc2008.7z

windows下靜態編譯,我加上的define
GC_BUILD;GC_THREADS;_CRT_SECURE_NO_WARNINGS;GC_WIN32_THREADS;LARGE_CONFIG;GC_NOT_DLL;ASSUME_VISTA;ENABLE_TRACE
ENABLE_TRACE
打開TRACE可以找leak
ASSUME_VISTA
AO_CAN_EMUL_CAS
使用vista以上的同步函數
GC_BUILD

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

由於boost.shared_ptr
的參用計數剄要同步的問題,所以會慢。

難道boost.intrusive_ptr
就不用同步嗎?
它只是把參用計數的動作給你,但在某些情況一樣要同步,
這樣就可以在保證線程安全的情況下不同步,節省原子操作。

我想到別人也想過的另外一種方法就是用標記法,
intrusive_ptr_add_ref

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