½«Win32 C/C++Ó¦ÓóÌÐòÇ¨ÒÆµ½Linux
±¾ÎĵÄÄÚÈÝÊÇ Win32 API£¨ÌرðÊǽø³Ì¡¢Ï̺߳͹²ÏíÄÚ´æ·þÎñ£©µ½ POWER ÉÏ Linux µÄÓ³Éä¡£±¾ÎÄ¿ÉÒÔ°ïÖúÄúÈ·¶¨ÄÄÖÖÓ³Éä·þÎñ×îÊʺÏÄúµÄÐèÒª¡£×÷ÕßÏòÄúÏêϸ½éÉÜÁËËûÔÚÒÆÖ² Win32 C/C++ Ó¦ÓóÌÐòʱÓöµ½µÄ API Ó³Éä¡£
¸ÅÊö
Óкܶ෽ʽ¿ÉÒÔ½« Win32 C/C++ Ó¦ÓóÌÐòÒÆÖ²ºÍÇ¨ÒÆµ½ pSeries ƽ̨¡£Äú¿ÉÒÔʹÓÃÃâ·ÑÈí¼þ»òÕßµÚÈý·½¹¤¾ßÀ´½« Win32 Ó¦ÓóÌÐò´úÂëÒÆµ½ Linux¡£ÔÚÎÒÃǵķ½°¸ÖУ¬ÎÒÃǾö¶¨Ê¹ÓÃÒ»¸ö¿ÉÒÆÖ²²ãÀ´³éÏóϵͳ API µ÷Ó᣿ÉÒÆÖ²²ã½«Ê¹ÎÒÃǵÄÓ¦ÓóÌÐò¾ßÓÐÒÔÏÂÓÅÊÆ£º
ÓëÓ²¼þÎ޹ء£
Óë²Ù×÷ϵͳÎ޹ء£
Óë²Ù×÷ϵͳÉϰ汾Óë°æ±¾¼äµÄ±ä»¯Î޹ء£
Óë²Ù×÷ϵͳ API ·ç¸ñ¼°´íÎó´úÂëÎ޹ء£
Äܹ»Í³Ò»µØÔÚ¶Ô OS µÄµ÷ÓÃÖÐÖÃÈëÐÔÄÜºÍ RAS ¹³×Ó£¨hook£©¡£
ÓÉÓÚ Windows »·¾³Óë pSeries Linux »·¾³ÓкܴóÇø±ð£¬ËùÒÔ½øÐпç UNIX ƽ̨µÄÒÆÖ²±È½øÐÐ´Ó Win32 ƽ̨µ½ UNIX ƽ̨µÄÒÆÖ²ÒªÈÝÒ׵öࡣÕâÊÇ¿ÉÒÔÏëµ½µÄ£¬ÒòΪºÜ¶à UNIX ϵͳ¶¼Ê¹Óù²Í¬µÄÉè¼ÆÀíÄÔÚÓ¦ÓóÌÐò²ãÓзdz£¶àµÄÀàËÆÖ®´¦¡£²»¹ý£¬Win32 API ÔÚÒÆÖ²µ½ Linux ʱÊÇÊÜÏ޵ġ£±¾ÎÄÆÊÎöÁËÓÉÓÚ Linux ºÍ Win32 Ö®¼äÉè¼ÆµÄ²»Í¬¶øÒý·¢µÄÎÊÌâ¡£
³õʼ»¯ºÍÖÕÖ¹
ÔÚ Win2K/NT ÉÏ£¬DLL µÄ³õʼ»¯ºÍÖÕÖ¹Èë¿ÚµãÊÇ _DLL_InitTerm º¯Êý¡£µ±Ã¿¸öеĽø³Ì»ñµÃ¶Ô DLL µÄ·ÃÎÊʱ£¬Õâ¸öº¯Êý³õʼ»¯ DLL Ëù±ØÐèµÄ»·¾³¡£µ±Ã¿¸öеĽø³ÌÊÍ·ÅÆä¶Ô DLL µÄ·ÃÎÊʱ£¬Õâ¸öº¯ÊýΪÄǸö»·¾³ÖÕÖ¹ DLL¡£µ±ÄúÁ´½Óµ½ÄǸö DLL ʱ£¬Õâ¸öº¯Êý»á×Ô¶¯µØ±»µ÷Ó᣶ÔÓ¦ÓóÌÐò¶øÑÔ£¬_DLL_InitTerm º¯ÊýÖаüº¬ÁËÁíÍâÒ»¸ö³õʼ»¯ºÍÖÕÖ¹Àý³Ì¡£
ÔÚ Linux ÉÏ£¬GCC ÓÐÒ»¸öÀ©Õ¹£¬ÔÊÐíÖ¸¶¨µ±¿ÉÖ´ÐÐÎļþ»òÕß°üº¬ËüµÄ¹²Ïí¶ÔÏóÆô¶¯»òֹͣʱӦ¸Ãµ÷ÓÃij¸öº¯Êý¡£Óï·¨ÊÇ __attribute__((constructor)) »ò __attribute__((destructor))¡£ÕâЩ»ù±¾ÉÏÓë¹¹Ô캯Êý¼°Îö¹¹º¯ÊýÏàͬ£¬¿ÉÒÔÌæ´ú glibc ¿âÖÐµÄ _init ºÍ _fini º¯Êý¡£
ÕâЩº¯ÊýµÄ C ÔÐÍÊÇ£º
void __attribute__ ((constructor)) app_init(void);
void __attribute__ ((destructor)) app_fini(void);
Win32 sample
_DLL_InitTerm(HMODULE modhandle, DWORD fdwReason, LPVOID lpvReserved)
{
WSADATA Data;
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
if (_CRT_init() == -1)
return 0L;
/* start with initialization code */
Ïà¹ØÎĵµ£º
constÓë#define×î´óµÄ²î±ð£¬ConstÔÚ¶ÑÕ»·ÖÅäÁ˿ռ䣬¶ø#defineÖ»ÊǰѾßÌåÊýÖµÖ±½Ó´«µÝµ½Ä¿±ê±äÁ¿°ÕÁË¡£»òÕß˵£¬constµÄ³£Á¿ÊÇÒ»¸öRun-TimeµÄ¸ÅÄËûÔÚ³ÌÐòÖÐȷȷʵʵµÄ´æÔÚ¿ÉÒÔ±»µ÷Óᢴ«µÝ¡£¶ø#define³£Á¿ÔòÊÇÒ»¸öCompile-Time¸ÅÄËüµÄÉúÃüÖÜÆÚÖ¹ÓÚ±àÒëÆÚ£ºÔÚʵ¼Ê³ÌÐòÖÐËûÖ»ÊÇÒ»¸ö³£Êý¡¢Ò»¸öÃüÁîÖе ......
BioscomʹÓÃ×¢Ò⣺´®¿Ú½ÓÏß·½Ê½Îª4£¬6£»7£¬8·Ö±ð¶Ì½Ó¡£½ö´Ëº¯ÊýÒªÇó¡£
·ñÔò»áÔì³ÉÖ»ÄܽÓÊÜÎÞ·¨·¢ËÍÊý¾Ý¡£º¯Êý·µ»ØÖµ´íÎó£¡
º¯ÊýÃû: bioscom
¹¦ ÄÜ: ²Ù×÷portÖ¸¶¨µÄRS232Ò첽ͨѶ¿Ú
ÓÃ ......
×î½üÒ»¸öÅóÓÑ×¼±¸°ÑC´úÂëÔÚECLIPSEÉϱàÒ룬ÒÔǰһֱ¸ãµÄJAVA£¬Ò²ÖªµÀECLIPSEÖ§³ÖC¹¤³Ì£¬µ«ÊÇ×Ô¼º´ÓÀ´Ã»¸ã¹ý£¬ËùÒÔ¾Í×Ô¼ºÏÈ´ÓÍøÂçÉÏÕÒ×ÊÁÏ£¬Ö÷Òª·½·¨ÈçÏÂ
1¡¢°²×°JDKºÍEclipse
ÕâÀï¾Í²»¶à˵£¬¾ßÌåÇë¼û£ºhttp://blog.chinaunix.net/u/16292/showart_223309.html
Îҵݲװ»·¾³ÊÇjdk1.5£¬eclipse3.2.1
2¡¢°²×°C++µÄE ......
http://blog.csdn.net/eroswang/archive/2009/06/12/4265046.aspx
1,·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2,ÖØÐ¶¨ÒåһЩÀàÐÍ,·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬,¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒì,·½±ãÒÆÖ²¡£
typedef unsigned char boolea ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......