ת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(“ *** ”)£¬ÄÚǶ»ã±àÓï¾ä£¬ÐèҪעÒâµÄÊÇÕâÖÖÓ÷¨ÒªÉ÷Óã¬ÔÚÏß»ã±àÌṩÁËÄÜÖ±½Ó¶ÁдӲ¼þµÄÄÜÁ¦£¬Èç¶ÁдÖжϿØÖÆÔÊÐí¼Ä´æÆ÷µÈ£¬µ«±àÒëÆ÷²¢²»¼ì²éºÍ·ÖÎöÔÚÏß»ã±àÓïÑÔ£¬²åÈëÔ
Ïà¹ØÎĵµ£º
3.2 ¸ßЧÂʲâÊÔ£ºËÄÁ½°Îǧ½ï
ÉÏÒ»½Ú½éÉÜÁËÒ»Ð©ËÆÊǶø·ÇµÄ¸ßЧÂÊ·½·¨£¬ÄÇô£¬ÔõÑù²ÅÄÜÕæÕý¸ßЧÂʲâÊÔÄØ£¿ÕæÕýµÄ¸ßЧÂÊ£¬²»ÄܺöÂÔÈ˵ÄÖÇ»ÛÕâÒ»¹Ø¼üÒòËØ¡£
ÓÉÓÚ¹¤¾ß²»¿ÉÄÜ×Ô¶¯Á˽â´úÂëµÄÉè¼Æ¹¦ÄÜ£¬Ö»ÓÐÈ˲ÅÁ˽⣬Òò´Ë£¬Ö»ÓÐÈ˵ÄÖǻۼ°Ê±½éÈ룬¹¤¾ß²ÅÄÜ×öÕýÈ·µÄÊÂÇ飬²ÅÄÜ´ïµ½ÕæÕýµÄ¸ßЧÂÊ¡£
&nb ......
—¡ï—ÅàѵÖÜÆÚ£º¹²950ѧʱ 5¸öÔÂ
—¡ï—Åàѵ¸½Ôù£º±£Ö¤Ñ§Ô±ÈËÊÖÒ»»úºÍÒ»Ì×ARM9¿ª·¢°å
—¡ï—ÅàѵÄÚÈÝ£ºÔÚÏîÄ¿¾ÀíµÄ´øÁìÏ£¬Í¨¹ýÍê³É¾ÖÍøµÄÂ齫ÓÎÏ·¡¢My ICQ(ÍøÂçÁÄÌì)ºÍ·¢µç»úÔÚÏß¼à¿ØÏµÍ³£¬BTÏÂÔØÈí¼þ£¬ÕÆÎÕ»ùÓÚLinuxºÍWindowsƽ̨ϵÄC/C++ÆóÒµ¼¶Ó¦ÓõĿª·¢¼¼ÄÜ£¬ÕÆÎÕ´óÐÍÈí¼þÏî ......
ÎÊÌâÃèÊö£ºÐ´Ò»¸öº¯Êý£¬½ÓÊÜÒ»¸öÕûÊý£¨¼Ù¶¨ÓÃint±íʾ£©£¬Êä³ö¸ÃÕûÊýµÄ×Ö·û´®ÐÎʽ¡£²ÉÓÃÈçϺ¯ÊýÔÐÍ£º
void itoa ( int val, char* buf );
ÕâÀï¼Ù¶¨buf×ã¹»´óÒÔÈÝÄÉÈκÎintÀàÐÍÊýÖµµÄ×Ö·û´®¡£
Õâ¸öÎÊÌ⣬³õ¿´ºÃÏñûÓÐʲôÄѶȡ£Èç¹ûÊÇ0£¬¾ÍÖ±½ÓÊä³ö'0'£»Èç¹ûÊÇÕýÊý£¬¾Íͨ¹ýȡģ(%)ºÍÇóÉÌ(/)ÔËËã¿ÉÒÔÖðλȡµÃ¸ÃÕûÊýµÄÊ ......
qtĬÈϵıà³ÌÓïÑÔΪC++ÓïÑÔ¡£Èç¹ûÄãÓÃqt±àÒë.cÎļþ£¬»á³öÏÖÕÒ²»µ½CÓïÑÔµÄĬÈÏÍ·ÎļþµÈ´íÎó£¨È磺stdio.hµÈ£©¡£qtÖв»Ö§³Ö
extern "C"{}µÄÕâÖÖд·¨£¬ÎÒǰ¼¸ÌìÓÐÒ»¸öC³ÌÐòÐèÒªÒÆÖ²µ½QtµÄ¹¤³ÌÖУ¬±¾Ï£ÍûÖ±½Óextern "C"¾ÍokÁË£¬µ«·¢ÏÖqt4¾ÓÈ»²»Ö§³ÖÕâÖÖд·¨¡£ÎҵijÌÐòÖÐÓõ½Á˺ü¸¸ölinuxϵͳͷÎļþ£¬ÊÇÏò´®¿Ú·¢Ö¸ÁîÖ®ÀàµÄ³ÌÐò ......
ÕâÊÇCµÄÔ³ÌÐò
#include <stdio.h>
#include <regex.h>
int main(int argc, char** argv)
{
regex_t reg;
regmatch_t pm[10];
char *pattern;
char buf[50];
const size_t nmatch = 10;
pattern = argv[1];
int result = regcomp(®, pattern, REG_EXTENDED);
while( fgets ......