Q: ΪʲôÎÒÓà gcc ±àÒë³öÀ´µÄ a.out ²»ÄÜÖ´ÐÐ?
¡¡¡¡
¡¡¡¡ÎÒ±à¼ÁËÒ»¸ö test.c ²¢Óà gcc ±àÒë, Éú³ÉÒ»¸ö a.out Îļþ
¡¡¡¡
¡¡¡¡µ«ÊÇΪʲôËü²»ÄÜÖ´ÐÐ?
¡¡¡¡
¡¡¡¡
¡¡¡¡A: ÔÚ Linux ÏÂÖ´ÐгÌÐòÐèÒªÖ¸¶¨Îļþ·¾¶¡£ ÇëÊÔÊÔ ./a.out
¡¡¡¡
¡¡¡¡ÕâÀïÓà ./ ¸æËß shell ÒªÖ´ÐеijÌÐòÔÚµ±Ç°Ä¿Â¼¡£
¡¡¡¡
¡¡¡¡µ±È»Èç¹û»·¾³±äÁ¿ PATH Öаüº¬ÁË·¾¶, Ôò¿ÉÒÔ²»ÓÃÕâÑùÖ¸¶¨¡£
¡¡¡¡
¡¡¡¡¿ÉÒÔͨ¹ýÉèÖÃÓû§ÅäÖÃÎļþ¸Ä±äËü¡£
¡¡¡¡
¡¡¡¡bsh, ksh, bash:
¡¡¡¡
¡¡¡¡vi ~/.bashrc
¡¡¡¡
¡¡¡¡add this line:
¡¡¡¡
¡¡¡¡PATH=$PATH:.
¡¡¡¡
¡¡¡¡csh, tcsh:
¡¡¡¡
¡¡¡¡vi ~/.cshrc
¡¡¡¡
¡¡¡¡add this line:
¡¡¡¡
¡¡¡¡setenv PATH $PATH:.
¡¡¡¡
¡¡¡¡ÕâÑùÏ´εȼ¾Í¿ÉÒÔÖ±½ÓÖ´Ðе±Ç°Ä¿Â¼µÄ³ÌÐòÁË¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡-- by Singleboy (¹ÂÓ¥)
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡Q: ±à³ÌÎÊÌâ: ÈçºÎÔÚ Linux Öеõ½ÌØÊâ¼üµÄɨÃèÂë?
¡¡¡¡
¡¡¡¡ÔÚ DOS ÏÂÃæ¿ÉÒÔͨ¹ý INT86 º¯Êý½øÐÐϵͳµ÷ÓÃÀ´µÃµ½·½Ïò¼üµÄÂë¡£
¡¡¡¡
¡¡¡¡µ«ÊÇÔÚ UNIX ÏÂÓà GCC µÄʲôº¯Êý¿ÉÒÔ¶ÁÈë·½Ïò¼ü,
¡¡¡¡
¡¡¡¡ÓÖÊÇÓÃʲôº¯ÊýÀ´Êä³öÒ»¸ö·½Ïò¼üÄØ?
¡¡¡¡
¡¡¡¡
¡¡¡¡A: there is structure kbentry defined in /usr/include/linux/kd.h
¡¡¡¡
¡¡¡¡and,u can find definitions of the structure¡¯s members in
¡¡¡¡
¡¡¡¡/usr/include/linux/keyboard.h,
¡¡¡¡
¡¡¡¡then use ioctrl() to set the keymap,and read() to read the
¡¡¡¡
¡¡¡¡value retured when a key being pressed.
¡¡¡¡
¡¡¡¡
¡¡¡¡-- by jbru (ÎÞ²¡ÎÞÔÖ±ãÊǸ£)
¡¡¡¡
¡¡¡¡
¡¡¡¡Q: ±à³ÌÎÊÌâ: ¹ØÓÚÎļþ½áÊøµÄÅжÏżҪ¶ÔÒ»¸ölogÎļþ½øÐзÖÎö£¬Í¨¹ýÏÂÃæµÄ·½·¨´ò¿ª
¡¡¡¡
¡¡¡¡if ((fp=fopen(free,"r+"))==NULL){ //the free ip file created by manual printf("can¡¯t open file %s.",free);
¡¡¡¡
¡¡¡¡putchar(¡¯ ¡¯);
¡¡¡¡
¡¡¡¡exit(0);
¡¡¡¡
¡¡¡¡}
¡¡¡¡
¡¡¡¡Í¨¹ýfgetsº¯Êý´ÓfpÁ÷ÖÐÈ¡³ö×Ö·û´®ÑéÖ¤£¬ÕýÈ·£¡
¡¡¡¡
¡¡¡¡µ«µ±Å¼ÓÃwhile(fgetc(fp)!=EOF){}½øÐÐÌáÈ¡·ÖÎöʱ£¬È´·¢Éú
¡¡¡¡
¡¡¡¡"Segmentation fault"´íÎó£¡
¡¡¡¡
¡¡¡¡Îغô£¡ÎªÊ²Ã´£¿£¿£¿£¿£¿
¡¡¡¡
¡¡¡¡
¡¡¡¡A: "Segmentation fault"´íÎó£¡
¡¡¡¡
¡¡¡¡~~~~~~~~~~~~~~~~~~~ ÕâÖÖ´íÎóÊÇÒòΪָÕëΪ¿Õ¡£
¡¡¡¡
¡¡¡¡¶øÇÒÓÃEOF×÷ΪÎļþ½áÊøµÄ±êÖ¾²»Ì«ºÃ,¿ÉÄÜÎļþ½áÊøÁË»¹ÊÇ!=EOF¡£
¡¡¡¡
¡¡¡¡Try to use:
¡¡¡¡
¡¡¡¡while(!feof(fp)) {
¡¡¡¡
¡¡¡¡fgetc(fp);
¡¡¡¡
¡¡¡¡}
¡¡¡¡
¡¡¡¡ÊÔÊÔ¿´¡£