תC/C++ºÍ»ã±à»ìºÏ±à³Ì
תCºÍ»ã±à»ìºÏ±à³Ì
.dataÊdzõʼ»¯µÄÊý¾Ý¿é¡£ÕâЩÊý¾Ý°üÀ¨±àÒëʱ±»³õʼ»¯µÄglobleºÍstatic±äÁ¿£¬Ò²°üÀ¨×Ö·û´®¡£
Á¬½ÓÆ÷½«OBJs¼°LIBsÎļþµÄ.data½áºÏ³ÉÒ»¸ö´óµÄ.data¡£local±äÁ¿ÒÔ·ÅÔÚÒ»¸öÏßÐԵĶÑÕ»ÖУ¬
²»Õ¼.dataºÍ.bssµÄ¿Õ¼ä¡£ºÍ.textÒ»Ñù£¬Êý¾Ý¿éÊÇÒÔÃ÷ÎĵÄÐÎʽ´æ·ÅÔÚÎļþÖеġ£ÎÞ·¨·ÀÖ¹¶ÔÆäÎïÀíµÄÐ޸ġ£
.bssÇøÊÇ´æ·Åδ³õʼ»¯È«¾ÖºÍ¾²Ì¬±äÁ¿µÄ¡£
ÔÚCºÍ»ã±à»ìºÏ±à³ÌµÄʱºò£¬´æÔÚCÓïÑԺͻã±àÓïÑԵıäÁ¿ÒÔ¼°º¯ÊýµÄ½Ó¿ÚÎÊÌâ¡£
ÔÚC³ÌÐòÖж¨ÒåµÄ±äÁ¿£¬±àÒëΪ.asmÎļþºó£¬¶¼±»·Å½øÁË.bssÇø£¬¶øÇÒ±äÁ¿ÃûµÄÇ°Ãæ¶¼´øÁËÒ»¸öÏ»®Ïß¡£ÔÚC³ÌÐòÖж¨ÒåµÄº¯Êý£¬±àÒëºóÔÚº¯ÊýÃûǰҲ´øÁËÒ»¸öÏ»®Ïß¡£ÀýÈ磺
extern int num¾Í»á±ä³É .bss _num, 1
extern float nums[5]¾Í»á±ä³É.bss _nums, 5
extern void func ( )¾Í»á±ä³É _func,
º¯ÊýÉùÃ÷: CÖÐÔÚº¯Êýǰ¼ÓexternÉùÃ÷´Ëº¯ÊýΪÍⲿº¯Êý£¬ÔÚ»ã±àÖÐÒªÉùÃ÷º¯ÊýÃûΪȫ¾Ö±äÁ¿£¬È磺
extern void delay(void) ; /*in C*/
globl delay ; in asm
_delay: ; delay function begins
£¨1£© »ã±à³ÌÐòÖзÃÎÊc³ÌÐòÖеıäÁ¿ºÍº¯Êý¡£
ÔÚ»ã±à³ÌÐòÖУ¬ÓÃ_XX¾Í¿ÉÒÔ·ÃÎÊCÖеıäÁ¿XXÁË¡£·ÃÎÊÊý×éʱ£¬¿ÉÒÔÓÃ_XX+Æ«ÒÆÁ¿À´·ÃÎÊ£¬Èç_XX+3·ÃÎÊÁËÊý×éÖеÄXX[3]¡£
ÔÚ»ã±à³ÌÐòµ÷ÓÃCº¯Êýʱ£¬Èç¹ûûÓвÎÊý´«µÝ£¬Ö±½ÓÓÃ_funcname ¾Í¿ÉÒÔÁË¡£Èç¹ûÓвÎÊý´«µÝ£¬ Ôòº¯ÊýÖÐ×î×ó±ßµÄÒ»¸ö²ÎÊýÓɼĴæÆ÷A¸ø³ö£¬ÆäËûµÄ²ÎÊý°´Ë³ÐòÓɶÑÕ»¸ø³ö¡£·µ»ØÖµÊÇ·µ»Øµ½A¼Ä´æÆ÷»òÕßÓÉA¼Ä´æÆ÷¸ø³öµÄµØÖ·¡£Í¬Ê±×¢Ò⣬ΪÁËÄܹ»Èûã±àÓïÑÔÄÜ·ÃÎʵ½CÓïÑÔÖж¨ÒåµÄ±äÁ¿ºÍº¯Êý£¬ËûÃDZØÐëÉùÃ÷ΪÍⲿ±äÁ¿£¬¼´¼Óextern ǰ׺¡£
£¨2£© c³ÌÐòÖзÃÎÊ»ã±à³ÌÐòÖеıäÁ¿
Èç¹ûÐèÒªÔÚc³ÌÐòÖзÃÎÊ»ã±à³ÌÐòÖеıäÁ¿£¬Ôò»ã±à³ÌÐòÖеıäÁ¿Ãû±ØÐëÒÔÏ»®ÏßΪÊ××Ö·û£¬²¢ÓÃglobalʹ֮³ÉΪȫ¾Ö±äÁ¿¡£
Èç¹ûÐèÒªÔÚc³ÌÐòÖе÷Óûã±à³ÌÐòÖеĹý³Ì£¬Ôò¹ý³ÌÃû±ØÐëÒÔÏ»®ÏßΪÊ××Ö·û£¬²¢ÇÒ£¬Òª¸ù¾Ýc³ÌÐò±àÒëʱʹÓõÄģʽÊÇstack-based model»¹ÊÇregister argument modelÀ´ÕýÈ·µØ±àд¸Ã¹ý³Ì£¬Ê¹Ö®ÄÜÕýÈ·µØÈ¡µÃµ÷ÓòÎÊý¡£
£¨3£© ÔÚÏß»ã±à
ÔÚC³ÌÐòÖÐÖ±½Ó²åÈë asm(“ *** ”)£¬ÄÚǶ»ã±àÓï¾ä£¬ÐèҪעÒâµÄÊÇÕâÖÖÓ÷¨ÒªÉ÷Óã¬ÔÚÏß»ã±àÌṩÁËÄÜÖ±½Ó¶ÁдӲ¼þµÄÄÜÁ¦£¬Èç¶ÁдÖжϿØÖÆÔÊÐí¼Ä´æÆ÷µÈ£¬µ«±àÒëÆ÷²¢²»¼ì²éºÍ·ÖÎöÔÚÏß»ã±àÓïÑÔ£¬²åÈëÔ
Ïà¹ØÎĵµ£º
SQLite¹Ù·½ÍøÕ¾Àý×Ó£º
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
i ......
ÔÚÍøÉÏÕÒµ½µÄÒ»¸ö³ÌÐò
[c]
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* È¡×Ó´®µÄº¯Êý */
static char* substr(const char*str,unsigned start, unsigned end)
{
unsigned n = end - start;
static char stbuf[256]; ......
Äõ½Õâ±¾µç×ÓÊé¿´ÁËÁÖ²©Ê¿Ð´µÄǰÑÔ£¬½²ÊöµÄʲôÊDZà³ÌÀÏÊÖÓë±à³Ì¸ßÊÖ£¬´ËʱÎÒ²ÅÖªÎÒÖ»ÄܳƵÃÉÏÊÇÒµÓà±à³Ì°®ºÃÕß¶øÒÑ,ÁÖ²©Ê¿¶Ô±à³ÌÀÏÊÖÓë±à³Ì¸ßÊÖ×öÁËÈçÏµĶ¨Ò壺
¶¨Òå 1£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³ÌÀÏÊÖ¡£
¶¨Òå 2£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÄѶȡ¢¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³Ì¸ßÊÖ¡£ ......
http://blog.csdn.net/tonyxiaohome/archive/2010/04/27/5536367.aspx
ÎÒ¿´ÁËÒÔºóÎÒҲ˵¼¸¾ä£¬ËãÎÒÔÚITÐÐÒµ´òƴһЩ¾Ñé¡£
Ê×ÏÈÕâ¸ö»°ÌâʵÔÚÊÇÌ«´óÁË¡£
C++ °üÀ¨C²»£¿
Æ»¹û¡¢Ò»Ð©Èí¼þ ±ÈÈçMysql£¬sqlite ¶¼ÊÇÄ£¿é»¯ÎªÖ÷
»ù±¾¾ÍÊÇCÓïÑÔ¡£
Ê×ÏÈÎÒ²»ÈÏͬ C++°üÀ¨C¡£
Õâ¸ö»°Ìâ ¾ÍÓÐÎÊÌâ¡£
ÎÒÃǸĸĿ´ ......
/*
============================================================================
Name : test.c
Author : alf
Version :
Copyright : Your copyright notice
  ......