½«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 */
Ïà¹ØÎĵµ£º
Java¿çƽ̨µÄÌØÐÔʹJavaÔ½À´Ô½ÊÜ¿ª·¢ÈËÔ±µÄ»¶Ó£¬µ«Ò²ÍùÍù»áÌýµ½²»Éٵı§Ô¹£ºÓÃJava¿ª·¢µÄͼÐÎÓû§´°¿Ú½çÃæÃ¿´ÎÔÚÆô¶¯µÄʱºò¶¼»áÌø³öÒ»¸ö¿ØÖÆÌ¨´°¿Ú£¬Õâ¸ö¿ØÖÆÌ¨´°¿ÚÈñ¾À´·Ç³£°ôµÄ½çÃæÊ§É«²»ÉÙ¡£ÔõôÄܹ»ÈÃͨ¹ýJava¿ª·¢µÄGUI³ÌÐò²»µ¯³öJavaµÄ¿ØÖÆÌ¨´°¿ÚÄØ£¿ÆäʵÏÖÔںܶàÁ÷ÐеĿª·¢»·¾³ÀýÈçJBuilder¡¢Eclipse¶¼ÊÇʹÓô¿Java ......
Reading and Writing Excel file with pure C api in windows system. tested on windows 2000, hope it can help you:
#ifndef _WINXLS_H_
#define _WINXLS_H_
/*============================================================================*
* Include Files
*================== ......
ÕâһϵÁÐÎÄÕÂÊÇÎÒ¹¹½¨C/C++²å¼þ¿ª·¢¿ò¼Ü¿ª·Å¿ò¼ÜµÄ¹ý³Ì¡£ºóÃæ»áÒ»Ö±¸üУ¬Ö±ÖÁ¹¹½¨Íê³É¡£
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Ò»£©——³õ²½ÉèÏë¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨¶þ£©——×ÜÌ幦ÄÜ¡·
¡¶
¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Èý£©——×ÜÌå½á¹¹
¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼ ......
char* my_strrev( char* string )
{
char *left, *right, ch;
left = right = string;
while( *right++ != '\0');
right -= 2;
while( left<right )
{
ch = *left;
*left = *right;
*right = ch;
++left; --right;
&n ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......