WindowsÓëLinux±àÒëÆ÷µÄ²îÒì
¿ªÊ¼ÒÆÖ² ¹¤×÷ºóµÄµÚÒ»²½¾ÍÊÇÔÚÄ¿±êƽ̨LinuxÉϽøÐбàÒ룬²¢Á´½ÓÔ´´úÂë¡£ÓÉÓÚÐèÒªÒÆÖ²µÄÈí¼þͨ³£²¢Î´ÔÚLinuxƽ̨ÉϱàÒë¹ý£¬±àÒëµÄ¹ý³Ì¿ÉÄÜ»áÓöµ½ºÜ´óµÄÀ§ ÄÑ¡£Ò»°ãÇé¿öÏ£¬ÓÉÀàÐÍÉùÃ÷ÒýÆðµÄ±àÒë´íÎóÊDZȽÏÈÝÒ×ÐÞ¸´µÄ¡£±ÈÈçMicrosoft C/C++µÄÍ·ÎļþʹÓÃ__declspec( dllimport/dllexport )À´ÊäÈëºÍÊä³öDLLº¯Êý£¬ÔÚLinuxÉÏ£¬°Ñº¯ÊýÉùÃ÷³Éextern “C”£¬»òÕßÔÙ½áºÏʹÓÃDEFÎļþ£¬Ê¹ÓÃÏàÓ¦µÄÁ´½ÓÃüÁî¾Í¿ÉÒÔ½â¾öÕâЩÎÊÌâ¡£µ«À§Äѵĵط½ÔÚÓÚ±àÒëÆ÷Ö®¼ä´æÔÚ²îÒìµÄ²¿·Ö£¬Í¬Ê±ÕâÒ²ÊÇ¿ÉÄÜÒýÆðºÜ¶àÔËÐÐʱÎÊ ÌâµÄÖØÒªÒòËØ£¬¶ÁÕßÓбØÒªÔÚ¿ªÊ¼ÒÆÖ²Ö®Ç°¾Í³ä·ÖÁ˽⡣±¾½Ú²»ÄܸÅÀ¨ËùÓвî±ð£¬Ö»½²ÊöһЩÈÝÒ×±»ºöÂÔ¶øÇÒºó¹û±È½ÏÑÏÖØµÄ·½Ãæ¡£
ÒÔVisual C++ 2003ºÍGCC 4.1.0ΪÀý¡£Ç°ÕßÊÇWindowsƽ̨µÄÖ÷Á÷±àÒëÆ÷£¬¼æÈÝÐÔÁ¼ºÃ£¬µ«ÊǶÔC++±ê×¼µÄ×ñѲ¢²»Ñϸñ¡£ÕâÒâζ׿´Ê¹¿ª·¢Õßд³ö²»Ì«·ûºÏ±ê×¼µÄ³ÌÐò£¬±àÒë Æ÷Ò²¿ÉÄÜÄÜÈÝÈÌ¡£Ïà·´µÄÊÇ£¬GCC¶Ô±ê×¼µÄ×ñÑÏà¶ÔÑϸñµÃ¶à£¬ÕâÑùºÜÈÝÒ×Ôì³ÉÔÚWindowsÔËÐÐÁ¼ºÃµÄ³ÌÐò£¬ÔÚLinuxÉÏÈ´ÒýÆðÒâÏë²»µ½µÄ±àÒëÉõÖÁÔË ÐÐʱ´íÎó¡£
£¨1£©»ù±¾ÀàÐÍ´óСºÍ½á¹¹¶ÔÆë
Ê×ÏÈÊÇ C/C++ÓïÑÔ»ù±¾ÀàÐ͵ĴóС£¬ÒÔ¼°ÏàÓ¦µÄ½á¹¹¶ÔÆëÎÊÌâ¡£µäÐ͵ÄÀý×ÓÊÇlong¹Ø¼ü×Ö¡£ÔÚVisual C++ 2003Ï£¬sizeof(long double)ÊÇ8£¬Æä´óСºÍdoubleÒ»Ö¡£µ«ÊÇÔÚGCC 4.1.0ÉÏ£¬sizeof(long double)µÈÓÚ12£¬Æä´óС±Èdouble¶à4¡£ÁíÒ»¸öºÍ´óСÏà¹ØµÄÎÊÌâÊÇ¶ÔÆëÎÊÌâ¡£²»Í¬±àÒëÆ÷µÄĬÈÏ¶ÔÆë´óСÊDz»Ò»ÑùµÄ¡£Ò»°ãÇé¿öϳÌÐòÂß¼¶¼¸ú¶Ô ÆëÎ޹أ¬µ«ÊÇÉæ¼°´Ó´ÅÅÌ»òÕßÍøÂçÎļþÖжÁÈ¡½á¹¹Ê±£¨Èç½âÎö×ÊÔ´£©£¬¾«È·µÄ¶ÔÆë¾ÍÊDZØÐèµÄ¡£¿¼²ìÏÂÃæµÄ³ÌÐò¶Î£º
#include <stdio.h>
struct A
{
char a;
double b;
};
int main()
{
printf("%d %d %d\n", sizeof(long double),
sizeof(long long), sizeof(A) );
return 0;
}
ÉÏÃæÕâ¶Î³ÌÐòÔÚ Visual C++ 2003±àÒëÆ÷ĬÈÏÉèÖÃÏ£¬Êä³ö½á¹ûΪ8 8 16£»ÔÚGCC 4.1.0±àÒëÆ÷ĬÈÏÉèÖÃÏ£¬ÆäÊä³öΪ12 8 12¡£´Ósizeof(A)µÄ´óС¿ÉÒÔ¿´³ö£¬Visual C++ 2003Êǰ´8×Ö½Ú¶ÔÆëµÄ£¬¶øgccÊÇ4×Ö½Ú¶ÔÆëµÄ¡£ÕâʱÐèҪʹÓÃ#pragma packÔ¤±àÒëÖ¸ÁîÀ´ÐÞ¸ÄÍ·ÎļþÖеĽṹÉùÃ÷£¬»òÕßÔÚÔËÐÐʱµ÷ÕûÄÚ´æÖнṹ³ÉÔ±µÄλÖᣲ»¹Ü²ÉÓúÎÖÖ·½·¨£¬¶ÔÆë¶¼ÊÇÐèҪСÐÄ´¦ÀíµÄÊÂÇé¡£
Ïà¹ØÎĵµ£º
ÉÐѧÌÃlinux±Ê¼Ç£¨¶þ£©
touch Îļþ ´´½¨Îļþ
rm ÎļþÃû ɾ³ýÎļþ
rm –r Îļþ¼ÐÃû µÝ¹éɾ³ýÎļþ¼Ð
rm –rf Îļþ¼ÐÃû µÝ¹éÇ¿ÖÆÉ¾³ýÎļþ¼Ð
rmdir Îļþ¼ÐÃû ɾ³ý¿ÕÎļþ¼Ð
cp (-r)Ô´Îļþ/ÔÎļþ¼Ð Ä¿±êÎļþ/Ä¿±êÎļþ¼Ð
mv(-r) Ô´Îļþ Ä¿±êÎļþ/Ä¿±êÎļþ¼Ð
tree Ê÷×´ÏÔʾ
²é¿´»·¾³±äÁ¿£ºwindows ......
1¡¢/etc/modules.confÎļþ£º
ÔÚDebian/UbuntuÅÉϵÖÐÃûΪ/etc/modules£¬ÔÚÓÐЩLinuxϵͳÖÐÒ²ÓÃÃû/etc/conf.modules¡£¸ÃÅäÖÃÎļþ¶¨ÒåÁ˸÷ÖÖÐèÒªÔÚÆô¶¯Ê±¼ÓÔØµÄÄ£¿éµÄ²ÎÊýÐÅÏ¢¡£ÕâÀïÖ÷Òª×ÅÖØÌÖÂÛ¹ØÓÚÍø¿¨µÄÅäÖá£ÔÚʹÓÃLinux×öÍø¹ØµÄÇé¿öÏ£¬Linux·þÎñÆ÷ÖÁÉÙÐèÒªÅäÖÃÁ½¿éÍø¿¨¡£ÎªÁ˼õÉÙÆô¶¯Ê±¿ÉÄܳö ......
º¯Êý˵Ã÷£º
kthread_create£º´´½¨Ï̡߳£
struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...);
Ï̴߳´½¨ºó£¬²»»áÂíÉÏÔËÐУ¬¶øÊÇÐèÒª½«kthread_create() ·µ»ØµÄtask_structÖ¸Õë´«¸øwake_up_process()£¬È»ºóͨ¹ý´Ëº¯ÊýÔËÐÐÏ̡߳£
kthread_run £º´´½¨²¢Æô¶¯Ï̵߳ĺ¯Ê ......
LinuxÍø¿¨Çý¶¯·ÖÎö
LinuxÍø¿¨Çý¶¯·ÖÎö
ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈÃÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊÇÀíËùµ±È»µÄÁË¡£²»Òªµ£ÐÄ£¬ÊÂÇé×ÜÓнâ¾öµÄ°ì·¨£ ......
Submitted by felix on 2007, November 16, 11:51 AM. ÖíÖ®¼¼Êõ
ÕâÆªÎÄÕÂÊÇ×ۺϲο¼Á˺ü¸ÆªÎÄÕÂд³ÉµÄ£¬Ôڴ˶Լ¸Î»×÷Õß±íʾ¸Ðл£¬ÒÔÏÂÊDzο¼µÄ¼¸ÆªÔÎĵØÖ·£º
http://blog.51766.com/page/zsc?entry=1141808884223
http://www.cublog.cn/u/1589/showart.php?id=239748
http://www.mail-archive.com/debian-bugs-dist@l ......