±àÒ룬±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
CÔ´³ÌÐòÍ·Îļþ££>Ô¤±àÒë´¦Àí(cpp)££>±àÒë³ÌÐò±¾Éí££>ÓÅ»¯³ÌÐò££>»ã±à³ÌÐò££>Á´½Ó³ÌÐò-->¿ÉÖ´ÐÐÎļþ
1.±àÒëÔ¤´¦Àí
¶ÁÈ¡cÔ´³ÌÐò£¬¶ÔÆäÖеÄαָÁÒÔ#¿ªÍ·µÄÖ¸ÁºÍÌØÊâ·ûºÅ½øÐд¦Àí
[Îö] αָÁîÖ÷Òª°üÀ¨ÒÔÏÂËĸö·½Ãæ
£¨1£© ºê¶¨ÒåÖ¸ÁÈç#define Name TokenString,#undefµÈ¡£¶ÔÓÚǰһ¸öαָÁԤ±àÒëËùÒª×öµÄÊǽ«³ÌÐòÖеÄËùÓÐNameÓÃTokenStringÌæ»»£¬µ«×÷Ϊ×Ö·û´®³£Á¿µÄ NameÔò²»±»Ìæ»»¡£¶ÔÓÚºóÕߣ¬Ôò½«È¡Ïû¶Ôij¸öºêµÄ¶¨Ò壬ʹÒÔºó¸Ã´®µÄ³öÏÖ²»ÔÙ±»Ìæ»»¡£
£¨2£©Ìõ¼þ±àÒëÖ¸ÁÈç#ifdef,#ifndef,#else,#elif,#endif,µÈµÈ¡£ÕâЩαָÁîµÄÒýÈëʹµÃ³ÌÐòÔ±¿ÉÒÔͨ¹ý¶¨Ò岻ͬµÄºêÀ´¾ö¶¨±àÒë³ÌÐò¶ÔÄÄЩ´úÂë½øÐд¦Àí¡£Ô¤±àÒë³ÌÐò½«¸ù¾ÝÓйصÄÎļþ£¬½«ÄÇЩ²»±ØÒªµÄ´úÂë¹ýÂ˵ô
£¨3£©Í·Îļþ°üº¬Ö¸ÁÈç#include "FileName"»òÕß#include <FileName>µÈ¡£ÔÚÍ·ÎļþÖÐÒ»°ãÓÃαָÁî#define¶¨ÒåÁË´óÁ¿µÄºê£¨×î³£¼ûµÄÊÇ×Ö·û³£Á¿£©£¬Í¬Ê±°üº¬Óи÷ÖÖÍ ......
Ò»¸ö¼òµ¥µÄC/S¶àÏß³ÌÓ¦ÓÃ,ÉÔ΢À©Õ¹¾Í¿ÉÒÔÓÃÁË
/*socketÊÇÍøÂçÓ¦ÓóÌÐòµÄºËÐÄ£¬ÔÚ·þÎñÆ÷¶Ë»ò¿Í»§¶ËÍøÂçÓ¦ÓóÌÐòÖУ¬socket½ÔΪ²»¿ÉȱÉÙµÄÒªËØ
*ÔÚ·þÎñÆ÷³£¼ûµÄÓ¦ÓÃÓУºFTP·þÎñÆ÷£¬MAIL·þÎñÆ÷£¨SMTP£¬POP3£¬IMAP4ÐÒ飩£¬WEB£¨HTTPÐÒ飩
*½¨Á¢·þÎñÆ÷¶ËSOCKETµÄÓ¦ÓóÌÐò²½ÖèÈçÏ£º
*1¡£½¨Á¢·þÎñÆ÷¶ËµÄSOCKET£¬²¢ÇÒÒÔ´ËÕìÌý¿Í»§¶ËµÄÁ¬½ÓÇëÇó
*2¡£µ±·þÎñÆ÷¶ËÕì²âµ½À´×Ô¿Í»§¶ËµÄÁ¬½ÓÇëÇóʱÔò½ÓÊÕ´ËÇëÇó²¢½¨Á¢¿Í»§¶ËµÄSOCKET£¬¸ÃSOCEKT½«×÷Ϊ
* ¿Í»§¶ËÁ¬½Ó¼°ºóÐø´¦Àí·¢Ëͼ°½ÓÊÕÊý¾ÝµÄÒÀ¾Ý£¬ÖÁ´ËÔòÍê³É·þÎñÆ÷¶ËÓë¿Í»§¶ËµÄSOCKETͨÐÅÁ´½Ó
*3¡£´¦ÀíÀ´×Ô¿Í»§¶ËµÄÐÅÏ¢£¬Ò»°ã³ÆÎªÇëÇ󣬿ÉÊÓΪ¿Í»§¶ËµÄÖ¸ÁîÐèÇó¡£ÀýÈçHTTPͨÐÅÐÒéµÄURLÇëÇó£¬
* »òFTPͨÐÅÐÒéµÄFTPÃüÁÈçGET£¬PUT£©µÈ
*4¡£¸ù¾Ý¿Í»§¶Ë´«À´µÄÇëÇó·þÎñÆ÷¶ËÐè¾¹ý³ÌÐòÂß¼´¦ÀíÖ®ºó£¬·¢ËÍ»ØÏà¶ÔÓ¦µÄÕдý½á¹û»ò´íÎóÐÅÏ¢ÖÁ
* ¿Í»§¶ËÈçHTTP·þÎñÆ÷Ðë·¢ËÍ»ØHTMLÍøÒ³ÄÚÈÝ£¬¶øFTP·þÎñÆ÷Ôò·¢ËÍ»ØFTPÖ¸ÁîµÄ½á¹û
*5¡£µ±³ÌÐòÍê³ÉÊý¾Ý»òÃüÁîµÄ´¦ÀíÖ®ºó£¬±ã¹Ø±ÕSOCKETͨÐÅÁ´½Ó
*/
/*
simpleServer.java
*/
import java.net.*;
import java.io.*;
public class simpleServer
......
/* Offtimer.c.For auto halt. */
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY 60/* Time of sleeping */
int main()
{
time_t now;
struct tm *p;
while(1)
{
now = time(NULL);
sleep(DELAY);/* To reduce cpu occupation */
p = localtime(&now);
if ((p->tm_hour = 14) && (p->tm_min >= 30))/ *This means the system will halt after 14:30 or 14:31 */
system("poweroff"); / *'poweroff' is the command in Red Flag Linux
Desktop 5.0 to turn off the computer.To do this you should be root. */
}
return 0;
}
ÒýÓÃgcc±àÒ룬ÁíÍâÐèÒªÓÐrootÓû§µÄȨÀû²ÅÄÜÐС£ ......
/* Offtimer.c.For auto halt. */
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY 60/* Time of sleeping */
int main()
{
time_t now;
struct tm *p;
while(1)
{
now = time(NULL);
sleep(DELAY);/* To reduce cpu occupation */
p = localtime(&now);
if ((p->tm_hour = 14) && (p->tm_min >= 30))/ *This means the system will halt after 14:30 or 14:31 */
system("poweroff"); / *'poweroff' is the command in Red Flag Linux
Desktop 5.0 to turn off the computer.To do this you should be root. */
}
return 0;
}
ÒýÓÃgcc±àÒ룬ÁíÍâÐèÒªÓÐrootÓû§µÄȨÀû²ÅÄÜÐС£ ......
×îÇ¿µÄGUI¿âµ±ÊôQt£¬±Ï¾¹ÊÇÉÌÒµ»¯µÄ¶«Î÷£¬¹¦ÄÜ×îÍêÕû£¬Ê²Ã´¶¼ºÃ£¬°üÀ¨ÀàËÆjava´úÂë·ç¸ñ£¬Á¼ºÃµÄ¿ò¼ÜÉè¼Æ£¬µ«Óм¸µãÖµµÄÒ»Ì᣺
1.ËüûÓÐʹÓÃSTL£¬¶øÊÇ×Ô¼ºÊµÏÖÁËÒ»Ì×Ìæ´ú·½°¸QTL£»
2.ʼþÄ£ÐÍʹÓÃ×Ô´´µÄsignal/slot»úÖÆ£¬ËùÒÔÐèÒªmoc.exeÀ´Ô¤´¦ÀíÍ·Îļþ£»
3.¶ÔƤ·ôµÄÖ§³Ö²»ÊǺܺã¬ÐèÒª×Ô¼ºÐ´StyleÀàÀ´¶¨Òå¸÷ÖֿؼþµÄPaint£»
ËùÒÔÕ¾ÔÚQtµÄÊÓ½ÇÈ¥±È½ÏËùÓÐÆäËûµÄ¿ªÔ´¿â£¬ÏàÐÅÕâÑùÄÜΪÄã×÷³öÕýÈ·µÄÑ¡Ôñ¡£
1. GTK+
gtk+ÓÃCÓïÑÔµÄÃæÏò¶ÔÏóµÄÉè¼Æ·½·¨£¬¿ò¼ÜÉè¼ÆÁ¼ºÃ£¬Ëü¿ÉÄÜ»á±ÈQtÐÔÄܺá£LGPLÐÒ飬¿ÉÒÔ×÷ÉÌÒµÓÃ;£¬Ö§³ÖƤ·ô(theme/GtkStyle)£¬Ö§³ÖXML¶¨Òå½çÃæ£¬ÓÐÉè¼ÆÆ÷Ö§³Ö(glade)£¬Ö§³Ö¹ú¼Ê»¯(gettext)£¬µ«Ã»ÓÐQt·½±ã£¬±àÒëµÄ¿â´óС3M×óÓÒ(Debug°æ±¾ËãÉÏËùÓеÄlib)±ÈQtС£»ÓÐÀàËÆQtµÄsignal»úÖÆ£¬µ«²»ÐèÒªÔ¤±àÒë´¦Àí¡£¶ÔopenglºÍͼÐÎͼÏñÖ§³ÖÁ¼ºÃ¡£
gtk+»ùÓÚÈý¸ö¿â£ºglib£¬pangoºÍatk¡£glibÊǵײã¿â£¬·â×°ÁËcµÄÊý¾Ý½á¹¹´¦Àí£¬¿ÉÒÆÖ²ÐÔ£¬thread£¬¶¯Ì¬ÔØÈëÒÔ¼°Ò»¸ö¶ÔÏóϵͳ¡£pangoÊÇÒ»¸ö²¼¾ÖºÍÎı¾äÖȾ¿â£¬´¦Àí
×ÖÌåºÍ¹ú¼Ê»¯¡£atkÊÇ ......
×îÇ¿µÄGUI¿âµ±ÊôQt£¬±Ï¾¹ÊÇÉÌÒµ»¯µÄ¶«Î÷£¬¹¦ÄÜ×îÍêÕû£¬Ê²Ã´¶¼ºÃ£¬°üÀ¨ÀàËÆjava´úÂë·ç¸ñ£¬Á¼ºÃµÄ¿ò¼ÜÉè¼Æ£¬µ«Óм¸µãÖµµÄÒ»Ì᣺
1.ËüûÓÐʹÓÃSTL£¬¶øÊÇ×Ô¼ºÊµÏÖÁËÒ»Ì×Ìæ´ú·½°¸QTL£»
2.ʼþÄ£ÐÍʹÓÃ×Ô´´µÄsignal/slot»úÖÆ£¬ËùÒÔÐèÒªmoc.exeÀ´Ô¤´¦ÀíÍ·Îļþ£»
3.¶ÔƤ·ôµÄÖ§³Ö²»ÊǺܺã¬ÐèÒª×Ô¼ºÐ´StyleÀàÀ´¶¨Òå¸÷ÖֿؼþµÄPaint£»
ËùÒÔÕ¾ÔÚQtµÄÊÓ½ÇÈ¥±È½ÏËùÓÐÆäËûµÄ¿ªÔ´¿â£¬ÏàÐÅÕâÑùÄÜΪÄã×÷³öÕýÈ·µÄÑ¡Ôñ¡£
1. GTK+
gtk+ÓÃCÓïÑÔµÄÃæÏò¶ÔÏóµÄÉè¼Æ·½·¨£¬¿ò¼ÜÉè¼ÆÁ¼ºÃ£¬Ëü¿ÉÄÜ»á±ÈQtÐÔÄܺá£LGPLÐÒ飬¿ÉÒÔ×÷ÉÌÒµÓÃ;£¬Ö§³ÖƤ·ô(theme/GtkStyle)£¬Ö§³ÖXML¶¨Òå½çÃæ£¬ÓÐÉè¼ÆÆ÷Ö§³Ö(glade)£¬Ö§³Ö¹ú¼Ê»¯(gettext)£¬µ«Ã»ÓÐQt·½±ã£¬±àÒëµÄ¿â´óС3M×óÓÒ(Debug°æ±¾ËãÉÏËùÓеÄlib)±ÈQtС£»ÓÐÀàËÆQtµÄsignal»úÖÆ£¬µ«²»ÐèÒªÔ¤±àÒë´¦Àí¡£¶ÔopenglºÍͼÐÎͼÏñÖ§³ÖÁ¼ºÃ¡£
gtk+»ùÓÚÈý¸ö¿â£ºglib£¬pangoºÍatk¡£glibÊǵײã¿â£¬·â×°ÁËcµÄÊý¾Ý½á¹¹´¦Àí£¬¿ÉÒÆÖ²ÐÔ£¬thread£¬¶¯Ì¬ÔØÈëÒÔ¼°Ò»¸ö¶ÔÏóϵͳ¡£pangoÊÇÒ»¸ö²¼¾ÖºÍÎı¾äÖȾ¿â£¬´¦Àí
×ÖÌåºÍ¹ú¼Ê»¯¡£atkÊÇ ......
ÔÚPerlµÄ¸÷ÖÖÎļþ²âÊÔÔËËã·ûÖУ¬×îÓÐÓõÄÔËËã·ûÖ®Ò»¾ÍÊÇ -C ÁË¡£
Ëü·µ»ØµÄÊÇÎļþµÄctimeµ½³ÌÐòÆô¶¯µÄÄÇһʱ¿Ì¾¹ýµÄÌìÊý¡£
Èç¹û²»ÊÇÕûÊýÌ죬·µ»ØÖµ¾Í´øÓÐСÊý¡£
Õâ¸öÔËËã·û¾³£ÓÃÀ´¼ì²âÎļþÊÇ·ñ¹ýÆÚ£¬±ÈÈçÅжÏÎļþ¾àÀëÉÏ´ÎÐÞ¸ÄÊÇ·ñ³¬¹ýÁË3Ì죬
Èç¹û³¬¹ý¾Í½«Æäɾ³ý¡£µ«ÊÇ£¬ÄãÊÇ·ñÕæÕýÀí½â -C µÄ¹¤×÷ÔÀíÄØ£¿
ºÎνctime
ÒªÏëÀí½â-C£¬¾Í±ØÐëÀí½âʲôÊÇctime¡£ÎÒÃÇÖªµÀÎļþ²âÊÔÔËËã·ûµÄ·µ»ØÖµ¶¼ÊÇstatϵͳµ÷ÓõĽá¹û£¬
Òò´Ë´ÓstatµÄÎĵµÖоͿÉÒÔÕÒµ½´ð°¸£º
$ man 2 stat
...
The field st_ctime is changed by writing or by setting inode information
(i.e., owner, group, link count, mode, etc.).
¿É¼û£¬ctimeÊÇinodeµÄ¸üÐÂʱ¼ä£¬Òò´Ë²»½öÊǸıäÎļþÄÚÈÝ£¬Òƶ¯Îļþ¡¢ÐÞ¸ÄËùÓÐÕߵȲÙ×÷¶¼»á¸Ä±äctime¡£
ÕâÆªÎÄÕÂ
˵µÃ¸üÏêϸ£º
ÎļþµÄ Change time£¬ctime ÊÇÔÚдÈëÎļþ¡¢¸ü¸ÄËùÓÐÕß¡¢È¨ÏÞ»òÁ´½ÓÉèÖÃʱ
Ëæ Inode µÄÄÚÈݸü¸Ä¶ø¸ü¸ÄµÄ¡£Ö»Òªstat³öÀ´µÄÄÚÈÝ·¢Éú¸Ä±ä¾Í»á·¢Éú¸Ä±ä¡£
mtimeµÄ¸Ä±ä±ØÈ»µ¼ÖÂctimeµÄ¸Ä±ä¡£
-CµÄÖµÈçºÎ¼ÆË㣿
perlµÄÎĵµÖжÔ-CÊÇÕâÑù˵Ã÷µÄ£º
$ perldoc -f -X
...
-M Script start time minus file modification time, in days.
......
from: ¡¶×Ô¼º¶¯ÊÖд²Ù×÷ϵͳ¡·
1. ÖжÏÏòÁ¿±í ²é¿´ linux/init/main.c in http://lxr.linux.no/#linux+v2.6.32/init/main.c
2.
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd one
; [root@XXX XXX]#
µ«ÊÇÎÒµÄcygwinϱ¨´í£º
$ ld -s foo.o bar.o -o foo
foo.o: In function `start':
foo.asm:(.text+0xb): undefined reference to `choose'
bar.o:bar.c:(.text+0x1e): undefined reference to `myprint'
bar.o:bar.c:(.text+0x34): undefined reference to `myprint'
3. cygwin ÖÐÎÄÂÒÂë £¨http://blog.sina.com.cn/s/blog_3ee207aa010008ml.html £©
Ö±½ÓÖ´ÐÐ
alias ls='ls --color --show-control-chars
--time-style=long-iso'
»òÕß°ÑÉÏÃæµÄÄÚÈݼӵ½/etc/profileÖÐÖØÆôCygwin¼´¿É¡£
ΪÁËʹʹÓøü·½±ã£¬ÍƼöÔö¼ÓÈçÏÂÅäÖÃÐÅÏ¢£º
1. ±à¼Óû§homeĿ¼ÏµÄÎļþ.inputc£¬È¥³ýÒÔϼ¸ÐеÄ×¢ÊÍ£º
set meta-flag on
# ¹Ø±ÕbashÃüÁîÐÐ8×Ö½Ú×Ö·ûתÒå·ûµÄת»»
set convert-meta off
# ʹbashÃüÁîÐÐÖ§³Ö8×Ö½Ú×Ö·ûÊä³ö
se ......
from: ¡¶×Ô¼º¶¯ÊÖд²Ù×÷ϵͳ¡·
1. ÖжÏÏòÁ¿±í ²é¿´ linux/init/main.c in http://lxr.linux.no/#linux+v2.6.32/init/main.c
2.
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd one
; [root@XXX XXX]#
µ«ÊÇÎÒµÄcygwinϱ¨´í£º
$ ld -s foo.o bar.o -o foo
foo.o: In function `start':
foo.asm:(.text+0xb): undefined reference to `choose'
bar.o:bar.c:(.text+0x1e): undefined reference to `myprint'
bar.o:bar.c:(.text+0x34): undefined reference to `myprint'
3. cygwin ÖÐÎÄÂÒÂë £¨http://blog.sina.com.cn/s/blog_3ee207aa010008ml.html £©
Ö±½ÓÖ´ÐÐ
alias ls='ls --color --show-control-chars
--time-style=long-iso'
»òÕß°ÑÉÏÃæµÄÄÚÈݼӵ½/etc/profileÖÐÖØÆôCygwin¼´¿É¡£
ΪÁËʹʹÓøü·½±ã£¬ÍƼöÔö¼ÓÈçÏÂÅäÖÃÐÅÏ¢£º
1. ±à¼Óû§homeĿ¼ÏµÄÎļþ.inputc£¬È¥³ýÒÔϼ¸ÐеÄ×¢ÊÍ£º
set meta-flag on
# ¹Ø±ÕbashÃüÁîÐÐ8×Ö½Ú×Ö·ûתÒå·ûµÄת»»
set convert-meta off
# ʹbashÃüÁîÐÐÖ§³Ö8×Ö½Ú×Ö·ûÊä³ö
se ......