LinuxÏÂC/C++±àÒëÆ÷gccʹÓüò½é
1.gcc°üº¬µÄc/c++±àÒëÆ÷
gcc,ccÓëc++,g++
gccºÍccÊÇÒ»ÑùµÄ£¬c++ºÍg++ÊÇÒ»ÑùµÄ¡£Ò»°ãc³ÌÐò¾ÍÓÃgcc±àÒ룬c++³ÌÐò¾ÍÓÃg++±àÒë¡£
2.gccµÄ»ù±¾Ó÷¨
gcc test.c£ºÈç¹ûûÓÐÖ¸¶¨Êä³öµÄÎļþ£¬Ä¬ÈϽ«±àÒë³öÒ»¸öÃûΪa.outµÄ³ÌÐò
gcc test.c -o test£º-o²ÎÊýÓÃÀ´Ö¸¶¨Éú³ÉÄ¿±ê³ÌÐòµÄÃû×Ö£¬ÕâÑù½«±àÒë³öÒ»¸öÃûΪtestµÄ³ÌÐò¡£
3.Ϊʲô»á³öÏÖundefined reference to 'xxxxx'´íÎó£¿
Ê×ÏÈÕâÊÇÁ´½Ó´íÎ󣬲»ÊDZàÒë´íÎó£¬Ò²¾ÍÊÇ˵Èç¹ûÖ»ÓÐÕâ¸ö´íÎó£¬ËµÃ÷ÄãµÄ³ÌÐòÔ´Âë±¾ÉíûÓÐÎÊÌ⣬ÊÇÄãÓñàÒëÆ÷±àÒëʱ²ÎÊýÓõò»¶Ô£¬ÄãûÓÐÖ¸¶¨Á´½Ó³ÌÐòÒªÓõ½µÃ¿â£¬±ÈÈçÄãµÄ³ÌÐòÀïÓõ½ÁËһЩÊýѧº¯Êý£¬ÄÇôÄã¾ÍÒªÔÚ±àÒë²ÎÊýÀïÖ¸¶¨³ÌÐòÒªÁ´½ÓÊýѧ¿â£¬·½·¨ÊÇÔÚ±àÒëÃüÁîÐÐÀï¼ÓÈë-lm¡£
4.-l²ÎÊýºÍ-L²ÎÊý
-l²ÎÊý¾ÍÊÇÓÃÀ´Ö¸¶¨³ÌÐòÒªÁ´½ÓµÄ¿â£¬-l²ÎÊý½ô½ÓמÍÊÇ¿âÃû£¬ÄÇô¿âÃû¸úÕæÕýµÄ¿âÎļþÃûÓÐʲô¹ØϵÄØ£¿¾ÍÄÃÊýѧ¿âÀ´Ëµ£¬ËûµÄ¿âÃûÊÇm£¬ËûµÄ¿âÎļþÃûÊÇlibm.so£¬ºÜÈÝÒ׿´³ö£¬°Ñ¿âÎļþÃûµÄÍ·libºÍβ.soÈ¥µô¾ÍÊÇ¿âÃûÁË¡£
ºÃÁËÏÖÔÚÎÒÃÇÖªµÀÔõôµÃµ½¿âÃûÁË£¬±ÈÈçÎÒÃÇ×ÔÒÑÒªÓõ½Ò»¸öµÚÈý·½ÌṩµÄ¿âÃû×Ö½Ðlibtest.so£¬ÄÇôÎÒÃÇÖ»Òª°Ñlibtest.so¿½±´µ½/usr/libÀ±àÒëʱ¼ÓÉÏ-ltest²ÎÊý£¬ÎÒÃǾÍÄÜÓÃÉÏlibtest.so¿âÁË£¨µ±È»ÒªÓÃlibtest.so¿âÀïµÄº¯Êý£¬ÎÒÃÇ»¹ÐèÒªÓëlibtest.soÅäÌ×µÄÍ·Îļþ£©¡£
·ÅÔÚ/libºÍ/usr/libºÍ/usr/local/libÀïµÄ¿â¿ÉÖ±½ÓÓÃ-l²ÎÊý¾ÍÄÜÁ´½ÓÁË£¬µ«Èç¹û¿âÎļþû·ÅÔÚÕâÈý¸öĿ¼À¶øÊÇ·ÅÔÚÆäËûĿ¼ÀÕâʱÎÒÃÇÖ»ÓÃ-l²ÎÊýµÄ»°£¬Á´½Ó»¹ÊÇ»á³ö´í£¬³ö´íÐÅÏ¢´ó¸ÅÊÇ£º“/usr/bin/ld: cannot find -lxxx”£¬Ò²¾ÍÊÇÁ´½Ó³ÌÐòldÔÚÄÇ3¸öĿ¼ÀïÕÒ²»µ½libxxx.so£¬ÕâʱÁíÍâÒ»¸ö²ÎÊý-L¾ÍÅÉÉÏÓó¡ÁË£¬±ÈÈç³£ÓõÄX11µÄ¿â£¬Ëü·ÅÔÚ/usr/X11R6/libĿ¼Ï£¬ÎÒÃDZàÒëʱ¾ÍÒªÓÃ-L/usr/X11R6/lib -lX11²ÎÊý£¬-L²ÎÊý¸ú×ŵÄÊÇ¿âÎļþËùÔÚµÄĿ¼Ãû¡£ÔÙ±ÈÈçÎÒÃÇ°Ñlibtest.so·ÅÔÚ/aaa/bbb/cccĿ¼Ï£¬ÄÇÁ´½Ó²ÎÊý¾ÍÊÇ-L/aaa/bbb/ccc -ltest
ÁíÍ⣬´ó²¿·Ölibxxxx.soÖ»ÊÇÒ»¸öÁ´½Ó£¬ÒÔRH9ΪÀý£¬±ÈÈçlibm.soËüÁ´½Óµ½/lib/libm.so.x£¬/lib/libm.so.6ÓÖÁ´½Óµ½/lib/libm-2.3.2.so£¬Èç¹ûûÓÐÕâÑùµÄÁ´½Ó£¬»¹ÊÇ»á³ö´í£¬ÒòΪldÖ»»áÕÒlibxxxx.so£¬ËùÒÔÈç¹ûÄãÒªÓõ½xxxx¿â£¬¶øÖ»ÓÐlibxxxx.so.x»òÕßlibxxxx-x.x.x.so£¬×öÒ»¸öÁ´½Ó¾Í¿ÉÒÔÁËln -s libxxxx-x.x.x.so libxxxx.so
ÊÖ¹¤À´Ð´Á´½Ó²ÎÊý×ÜÊǺÜÂé·³µÄ£¬»¹ºÃºÜ¶à¿â¿ª·¢°üÌṩÁËÉú³ÉÁ´½Ó²ÎÊýµÄ³ÌÐò£¬Ãû×ÖÒ»°ã½Ðxxxx-config£¬Ò»°ã·ÅÔÚ/usr/binĿ¼Ï£¬±ÈÈçgtk
Ïà¹ØÎĵµ£º
¡¾1¡¿ “ = ”µÄÓÅÏȼ¶µÍÓÚ “ || ” ÇÒ “ = ” ΪÓÒ½áºÏÐÔ£¬×¢ÒâһϴúÂëΪËÀÑ»·£ºwhile(c=' '||c=='\t'||c=='\n')
³ÌÐò±¾ÒâÊÇÌø¹ý¿Õ¸ñ£¬ÖƱí·û£¬»»Ðзû£¬µ«ÓÉÓÚ²»Ð¡ÐĽ«c==' 'д³ÉÁËc= ' 'µ¼Ö³ÌÐò½øÈëËÀÑ»·
¡¾2¡¿a=-1 ÔÚºÜÀϵÄC°æ±¾ÀïÀí½âΪ a =- 1
¡¾3 ......
ÎÒ½«ÒµÎñ´úÂëÈ¥µôÁË£¬Ö»ÊÇÓÃÀ´´î¸ö»ù±¾¿ò¼Ü£¬Óõ½µÄʱºòÖ±½ÓÄÃÀ´ÓþͿÉÒÔÁË¡£(ÎÒÕâ¸öÊÇÆðÒ»¸ösocket)Èç¹ûÓÐʲô½¨ÒéÇëÁªÏµÎÒ¡£ChuangshengGuan@Gmail.com
main.c
Code:
#include "Services.h"
int main(int argc, char *argv[])
{
SERVICE_TABLE_ENTRY ServiceTable[2];
/* Ö¸Ïò±íʾ·þ ......
PART (1)
/*
===============================================
¾µäÅÅÐò˼Ï룬²¢ÓÃCÓïÑÔÖ¸ÕëʵÏÖÅÅÐòËã·¨
================================================
*/
/*
=============================================================================
Ïà¹Ø֪ʶ½éÉÜ£¨ËùÓж¨ÒåֻΪ°ïÖú¶ÁÕßÀí½âÏà¹Ø¸ÅÄ²¢·ÇÑϸñ¶¨ ......
ת×Ô£ºhttp://blog.csdn.net/xiaocai0001/archive/2006/04/14/662921.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐÇ°Á½ÖÖÔÚC/C++ÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÖ»ÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈ ......
ARM CǶÈëʽ±à³ÌÖеļ¸¸ö¹Ø¼ü×Ö
1¡¢·ÃÎʾø¶ÔµØÖ·µÄÄÚ´æλÖãº
#define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74))
ÉÏÊöÓï¾ä°ÑÎÞ·ûºÅÕûÊý_ISR_STRATADDRESS+0x74Ç¿ÖÆת»»ÎªÖ¸Õ룬ָÏòRAM£¬ÓÃÏÂÃæµÄÓï¾ä¿ÉÒÔ·ÃÎÊËü£º
pISR_EINT0 = (int)Eint0_ISR
& ......