锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av日韩精品久久久久久a,久久精品国产91久久综合麻豆自制,亚洲欧洲久久久精品http://www.shnenglu.com/stonexin/articles/130996.htmlxinstxinstSat, 23 Oct 2010 12:13:00 GMThttp://www.shnenglu.com/stonexin/articles/130996.htmlhttp://www.shnenglu.com/stonexin/comments/130996.htmlhttp://www.shnenglu.com/stonexin/articles/130996.html#Feedback0http://www.shnenglu.com/stonexin/comments/commentRss/130996.htmlhttp://www.shnenglu.com/stonexin/services/trackbacks/130996.htmlwxWidgets鍜孮T涔嬮棿鐨勯夋嫨 

    璺ㄥ鉤鍙扮殑C++ GUI宸ュ叿搴撳緢澶氾紝鍙槸搴旂敤騫挎硾鐨勪篃灝遍偅涔堝嚑涓紝Qt銆亀xWidgets渚挎槸鍏朵腑鐨勭繕妤氥?br>    榪欓噷鎶奊TK+鎺掗櫎鍦ㄥ錛屼互C瀹炵幇闈㈠悜瀵硅薄錛屼笂鎵嬬浉褰撳洶闅撅紝鑰屼笖Windows騫沖彴涓嬫墽琛岀浉褰撴參涓斾笉紼沖畾銆?/p>

    Qt鍜寃xWidgets鍚勬湁鍚勭殑浼樼偣錛屼篃鍚勬湁鍚勭殑緙虹偣錛屽悇鏈夊悇鐨勯傚悎搴旂敤鐐廣?br>    宸ヤ綔鐜鍜岀埍濂介檺鍒訛紝涓漢鏇劇粡鍒嗗埆浣跨敤榪嘠t鍜寃xWidgets錛?br>    鍒扮幇鍦紝灝變釜浜鴻岃█錛岄夋嫨鍦ㄤ竴鑸▼搴忔柟鍚戦噰鐢╳xWidgets錛屽湪鎵嬫満搴旂敤紼嬪簭鏂瑰悜閲囩敤Qt銆?/p>

    鍏堣鐗堟潈錛?br>    Qt錛屾槸鑺叞鐨凾rollTech鍏徃鐮斿彂鐨勶紝鐜板湪灞炰簬Nokia錛屼竴鐩村琛岀殑鏄弻LICENSE絳栫暐錛屼竴涓槸鍟嗕笟鐗堬紝涓涓槸鍏嶈垂鐗堬細
    鍟嗕笟鐗堢殑LICENSE灝變笉璇翠簡錛屽厤璐圭増鐨凩ICENSE錛?.5鐗堟湰涔嬪墠涓鐩撮噰鐢℅PL錛屾剰鍛崇潃閲囩敤Qt鐨勭▼搴忚涔堟槸鍟嗕笟杞歡錛岃涔堝氨鏄疓PL杞歡錛?br>    榪欏氨閫犳垚浜嗚櫧鐒跺嚭浜嗕釜钁楀悕鐨凨DE錛屽彲鎯滃簲鐢ㄨ寖鍥磋繕鏄彈闄愶紝鍚﹀垯鐨勮瘽錛屽簲鐢ㄥ簲璇ユ洿騫塊様鐐癸紱
    涓嶈繃榪樺ソ錛孨okia鏀惰喘浜嗕箣鍚庢剰璇嗗埌榪欎釜闂錛?.5鐗堟湰涔嬪悗閲囩敤浜哃GPL錛屽叾浠栧紑鍙戜漢鍛樺彲浠ュ彂甯冨熀浜庡厤璐筈t搴撹繛鎺ョ殑鍟嗕笟杞歡浜嗐?br>    wxWidgets錛屼竴鐩村琛岀殑鏄疞GPL LICENSE銆?/p>

    鍐嶈瘎璇勫悇鑷殑浼樼己鐐癸細
    Qt錛屼竴鐩翠互鏉ュ紑鍙戝叕鍙鎬綔涓哄晢涓氬叕鍙歌繘琛岃繍浣滐紝浠ュ鎴烽渶姹備負鐩爣錛屾彁渚涗簡涓緋誨垪瀹屾暣鐨勬枃妗e拰RAD宸ュ叿錛屽茍鎻愪緵鏈涓哄畬鏁寸殑騫沖彴鏀寔錛?br>    瀵瑰紑鍙戜漢鍛樿岃█錛孮t搴撴湰韜紝涔熸槸鎵鏈夌殑GUI宸ュ叿搴撲腑鏈涓洪潰鍚戝璞″寲鐨勶紝鍚屾椂涔熸槸鏈涓虹ǔ瀹氱殑銆?br>    緗楀垪涓涓嬶細
    Qt鐨勪紭鐐癸細
        1. 鏀寔鐨勫鉤鍙版渶澶?br>        2. 鍟嗕笟鍖栨敮鎸?br>        3. 瀹屾暣鐨勬枃妗e拰RAD宸ュ叿
        4. 鏈涓洪潰鍚戝璞?br>        5. 涓栫晫涓婃渶涓烘垚鍔熺殑鎵嬫満鍘傚晢鏀拺錛屽浜庣Щ鍔ㄧ粓绔殑鏀寔鏈涓哄畬鍠?br>    Qt鐨勭己鐐癸細
        1. 浣跨敤鐨勬槸闈炴爣鍑咰++
        2. 姣忎釜騫沖彴涓嶆槸"Native GUI"
        3. 榪囦簬搴炲ぇ涓旇繍琛岀紦鎱?br>        4. 涓庡叾瀹冨簱涓嶆槸寰堝吋瀹癸紙涓昏鏄疭TL涔嬬被鐨勫吋瀹歸棶棰橈級
        5. 鍩烘湰鍙兘浣跨敤鐗瑰畾鐨剄make宸ュ叿錛堝叾瀹冨伐鍏風粡榪囪壇濂界殑淇敼涔熷彲浠ワ紝涓嶈繃鐩稿綋浜庨噸鏂扮紪鍐欎竴涓猶make錛屾槸鍚﹀煎緱錛?/p>

    wxWidgets錛屼竴鐩翠互鏉ョ殑LGPL鍙戝竷錛岀浉褰撳紑鏀撅紝縐瘡浜嗙浉褰撲竴閮ㄥ垎鐮旂┒鐢ㄦ埛錛屼笌鐜版湁鍚勭被宸ュ叿搴撴棤緙濊繛鎺ュ湴闈炲父濂斤紱
    鍚屾椂鍙儨鐨勬槸娌℃湁闈炲父寮哄ぇ鐨勬瑙勫晢涓氬寲榪愪綔錛屽彲闈犳с佽祫婧愪赴瀵屾ц繙姣斾笉涓奞t銆?br>    榪樻槸緗楀垪涓涓嬶細
    wxWidgets鐨勪紭鐐癸細
        1. 寮鏀撅紝瀵逛簬鍚勭被絎笁鏂瑰簱鐨勮壇濂藉吋瀹癸紙TAO宸ュ叿涓殑Naming_Service Viewer灝辨槸閲囩敤wxWidgets鐨勶級
        2. 鏀寔鍚勫鉤鍙扮殑"Native GUI"
        3. 铏界劧鏈夊簽澶х殑搴擄紝榪愯鏁堟灉鏋佷負鏄捐憲
        4. 瀵瑰悇綾葷幇鏈夊伐鍏風殑鏀寔錛堢瑪鑰呭氨閲囩敤MPC涓绔欏紡浜х敓鎵鏈夐」鐩殑緙栬瘧宸ョ▼錛?br>        5. 鍋廙FC錛屽浜嶹indows騫沖彴MFC紼嬪簭鐨勮法騫沖彴榪佺Щ錛屽叿鏈夊ぉ鐒剁殑浼樺娍
        6. XRC錛屽垯鎻愪緵浜嗕唬鐮佸拰璁捐鍒嗙鐨勪究鍒╋紝紼嬪簭鍛樹笓娉ㄦ暣浣撳紑鍙戯紝UI璁捐緹や綋鍒欐彁渚涜繍琛屾湡鐣岄潰銆佸璇█鐗堟湰鏀寔鍔熻兘絳?br>    wxWidgets鐨勭己鐐癸細
        1. 鐢變簬鏄亸MFC錛屽垯闈㈠悜瀵硅薄灝佽鍋氬緱涓嶆槸闈炲父濂?br>        2. 鐩稿緙轟箯鐨勬枃妗c佽祫婧?br>        3. 緙轟箯寰堝ソ鐨勫晢涓氬寲鏀寔錛屽鏋滃晢涓氳蔣浠跺嚭闂闇瑕佹敮鎸侊紝紼嶅井楹葷儲鐐?/p>

    鎬諱箣錛?br>        鍦ㄩ噰鐢ㄧ涓夋柟宸ュ叿搴撶殑澶嶆潅PC搴旂敤鐜錛屾湁涓瀹氱殑搴曞瓙錛寃xWidgets鏄笉浜岀殑閫夋嫨
        鍦ㄥ彧闇閲囩敤Qt鍗曚竴宸ュ叿搴撶殑搴旂敤鐜錛孮t鏄釜涓嶉敊鐨勯夋嫨錛涚壒鍒槸綾諱技浜庢墜鏈鴻繖縐嶅祵鍏ュ紡璁懼鐜錛岀敱浜嶯okia鐨勫姞鍏ワ紝Qt鏇村煎緱涓鐢ㄣ?nbsp;
 
 
 



xinst 2010-10-23 20:13 鍙戣〃璇勮
]]>
[wxWidgets]Embedding PNG images into executables(灝唒ng宓屽叆鍒扮▼搴忎腑)http://www.shnenglu.com/stonexin/articles/102520.htmlxinstxinstFri, 04 Dec 2009 03:07:00 GMThttp://www.shnenglu.com/stonexin/articles/102520.htmlhttp://www.shnenglu.com/stonexin/comments/102520.htmlhttp://www.shnenglu.com/stonexin/articles/102520.html#Feedback0http://www.shnenglu.com/stonexin/comments/commentRss/102520.htmlhttp://www.shnenglu.com/stonexin/services/trackbacks/102520.html棣栧厛闇瑕佺敤宸ュ叿灝唒ng鍥劇墖杞垚.cpp鎴栬?h鏂囦歡
宸ュ叿錛?span class=mw-headline>bin2c
婧愪唬鐮侊細

// bin2c.c
//
// convert a binary file into a C source vector
//
// THE "BEER-WARE LICENSE" (Revision 3.1415):
// sandro AT sigala DOT it wrote this file. As long as you retain this notice you can do
// whatever you want with this stuff.  If we meet some day, and you think this stuff is
// worth it, you can buy me a beer in return.  Sandro Sigala
//
// syntax:  bin2c [-c] [-z] <input_file> <output_file>
//
//          -c    add the "const" keyword to definition
//          -z    terminate the array with a zero (useful for embedded C strings)
//
// examples:
//     bin2c -c myimage.png myimage_png.cpp
//     bin2c -z sometext.txt sometext_txt.cpp

#include 
<ctype.h>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

#ifndef PATH_MAX
#define PATH_MAX 1024
#endif

int useconst = 0;
int zeroterminated = 0;

int myfgetc(FILE *f)
{
    
int c = fgetc(f);
    
if (c == EOF && zeroterminated)
    
{
        zeroterminated 
= 0;
        
return 0;
    }

    
return c;
}


void process(const char *ifname, const char *ofname)
{
    FILE 
*ifile, *ofile;
    errno_t err 
= fopen_s(&ifile,ifname,"rb");
    
if (ifile == NULL)
    
{
        fprintf(stderr, 
"cannot open %s for reading\n", ifname);
        exit(
1);
    }

    fopen_s(
&ofile,ofname, "wb");
    
if (ofile == NULL)
    
{
        fprintf(stderr, 
"cannot open %s for writing\n", ofname);
        exit(
1);
    }

    
char buf[PATH_MAX], *p;
    
const char *cp;
    
if ((cp = strrchr(ifname, '/')) != NULL)
    
{
        
++cp;
    }
 else {
        
if ((cp = strrchr(ifname, '\\')) != NULL)
            
++cp;
        
else
            cp 
= ifname;
    }

    strcpy_s(buf, cp);
    
for (p = buf; *!= '\0'++p)
    
{
        
if (!isalnum(*p))
            
*= '_';
    }

    fprintf(ofile, 
"static %sunsigned char %s[] = {\n", useconst ? "const " : "", buf);
    
int c, col = 1;
    
while ((c = myfgetc(ifile)) != EOF)
    
{
        
if (col >= 78 - 6)
        
{
            fputc(
'\n', ofile);
            col 
= 1;
        }

        fprintf(ofile, 
"0x%.2x, ", c);
        col 
+= 6;
    }

    fprintf(ofile, 
"\n};\n");

    fclose(ifile);
    fclose(ofile);
}


void usage(void)
{
    fprintf(stderr, 
"usage: bin2c [-cz] <input_file> <output_file>\n");
    exit(
1);
}


int main(int argc, char **argv)
{
    
while (argc > 3)
    
{
        
if (!strcmp(argv[1], "-c"))
        
{
            useconst 
= 1;
            
--argc;
            
++argv;
        }
 else if (!strcmp(argv[1], "-z"))
        
{
            zeroterminated 
= 1;
            
--argc;
            
++argv;
        }
 else {
            usage();
        }

    }

    
if (argc != 3)
    
{
        usage();
    }

    process(argv[
1], argv[2]);
    
return 0;
}

鍦ㄥ畼鏂硅鍧涗腑鐨勫仛浜嗕簺淇敼銆傚幓鎺変簡涓浜涜鍛婁俊鎭?br>
2銆佸湪浣犵殑紼嬪簭涓寘鍚漿鎹㈠ソ鐨刢pp鎴栬卙
 #include <myimage_png.cpp>

wxMemoryInputStream istream(myimage_png, sizeof myimage_png);
wxImage myimage_img(istream, wxBITMAP_TYPE_PNG);

鎴栬呭彲浠ュ畾涔変釜瀹?/p>

#define wxGetBitmapFromMemory(name) _wxGetBitmapFromMemory(name ## _png, sizeof(name ## _png))
inline wxBitmap _wxGetBitmapFromMemory(const unsigned char *data, int length) {
wxMemoryInputStream is(data, length);
return wxBitmap(wxImage(is, wxBITMAP_TYPE_ANY, -1), -1);
}
娉ㄦ剰錛氳紜繚png鐨勫彞鏌勫垵濮嬪寲浜嗐倃xImage::AddHandler(new wxPNGHandler);



xinst 2009-12-04 11:07 鍙戣〃璇勮
]]>
久久久久波多野结衣高潮| 久久91亚洲人成电影网站| 久久久不卡国产精品一区二区| 国产毛片久久久久久国产毛片| 久久国产午夜精品一区二区三区| 日韩中文久久| 国产成人久久激情91| 伊人精品久久久久7777| 人妻丰满AV无码久久不卡| 精品久久久久国产免费 | 国产成年无码久久久久毛片 | 国产成人99久久亚洲综合精品| 久久国产香蕉视频| 久久精品黄AA片一区二区三区| 狠狠干狠狠久久| 亚洲狠狠婷婷综合久久蜜芽| 久久久精品波多野结衣| 国产成人精品久久免费动漫| 久久久久久久97| 欧美成a人片免费看久久| 午夜精品久久久久9999高清| 久久棈精品久久久久久噜噜| 久久这里有精品视频| 91秦先生久久久久久久| 色欲久久久天天天综合网精品| 女同久久| 亚洲国产成人乱码精品女人久久久不卡 | 久久久人妻精品无码一区 | 亚洲精品国产自在久久| 精品国产91久久久久久久a | av色综合久久天堂av色综合在| 久久99久久成人免费播放| 久久se精品一区精品二区| 久久香蕉国产线看观看精品yw| 久久无码高潮喷水| 怡红院日本一道日本久久| 99久久婷婷免费国产综合精品| 久久九九精品99国产精品| 久久久久亚洲精品无码蜜桃| 日韩人妻无码精品久久免费一 | 久久精品免费观看|