1、第一个程序:hello.c
呵呵,好像无论学习哪一种编程都是从Hello,World!开始的!
int main(int argc,char **argv)
{
printf("Hello World!\n");
return 0;
}
要编译这个程序,我们只要在命令行下执行:
gcc -o hello hello.c
gcc 编译器就会为我们生成一个hello 的可执行文件.执行./hello 就可以看到程序的输出结果了。命令行中gcc 表示我们是用gcc 来编译我们的源程序,-o 选项表示我们要求编译器
给我们输出的可执行文件名为hello 而hello.c 是我们的源程序文件。另外还有-c 选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件。
2、最简单的Makefile文件
以上面的hello.c为例,Makefile文件的内容如下:
hello: hello.o
gcc -o hello hello.o
hello.o: hello.c
gcc -c hello.c
clean:
rm -f *.o
第一行表示的是依赖关系.第二行是规则.
hello: hello.o
表示我们的目标(target)hello 的依赖对象(components)是hello.o
当倚赖的对象在目标修改后修改的话,就要去执行规则一行所指定的命令.
注意规则一行中的冒号后面是一个TAB 键
3、几个有用的系统函数
pid_t getpid(void); //得到进程的ID
pid_t getppid(void); //得到父进程(创建调用该函数进程的进程)的ID
uid_t getuid(void); //得到进程的所有者的ID
uid_t geteuid(void); //得到进程的有效用户ID
gid_t getgid(void); //得到组ID
git_t getegid(void);//得到有效组ID
getpwuid(uid_t);//得到用户的更多详细信息
综合使用以上几个函数
#include
#include
#include
int main()
{
pid_t my_pid,parent_pid;
uid_t my_uid,my_euid;
gid_t my_gid,my_egid;
struct passwd *my_info;
my_pid = getpid();
parent_pid = getppid();
my_uid = getuid();
my_euid = geteuid();
my_gid = getgid();
my_egid = getegid();
my_info = getpwuid(my_uid);
printf("Process ID:%ld\n",my_pid);
printf("Parent ID :%ld\n",parent_pid);
printf("User ID :%ld\n",my_uid);
printf("Effective User ID:%ld\n",my_euid);
printf("Group ID :%ld\n",my_gid);
printf("Effective Group ID:%ld\n",my_egid);
if(my_info)
{
printf("My Login Name:%s\n",my_info->pw_name);
printf("My Password :%s\n",my_info->pw_passwd);
printf("My User ID :%ld\n",my_info->pw_uid);
printf("My Group ID :%ld\n",my_info->pw_gid);
/*printf("My RealName :%s\n",my_info->gecos);*/
printf("My Home Dir :%s\n",my_info->pw_dir);
/*printf("My Work Shell:%s\n",my_info->shell);*/
}
return 0;
}
dengt 于 2010-09-03 14:14:25发表:
凡是关于新手的经验都顶
longyun 于 2009-12-21 20:41:35发表:
加油啊!呵呵,linux越火越好!
svanilla 于 2009-10-21 22:58:14发表:
顶你!!我是草鸟
wangdonghua 于 2009-10-17 14:56:02发表:
很详细希望能够继续更新
dudusdau 于 2009-10-16 17:16:53发表:
学习下:0)1
dudusdau 于 2009-10-16 17:16:47发表:
学习下:0)1
Sanptzx 于 2009-10-16 10:35:32发表:
楼主看的是linux下C语言编程入门 -,-
sunhy1021 于 2009-10-15 14:31:34发表:
学习啊!
tuchangyan 于 2009-10-14 10:09:56发表:
学习中。
bjseek 于 2007-12-25 16:08:35发表:
恩。很详细,谢谢!:0)1
jackxu007 于 2007-12-25 10:28:04发表:
:0w5ty(1 ding
levelgxw 于 2007-12-22 18:59:05发表:
我刚装完redhat 11才开始看c 请有用的
ROBINSON 于 2007-11-27 13:53:52发表:
DING !
huangcao214 于 2007-11-27 09:13:30发表:
学习一下
solx 于 2007-11-13 11:28:59发表:
凡是关于新手的经验都顶~:0wmjh(1 ~
carlote 于 2007-11-12 23:04:17发表:
我是新手,正在研究LINUX下的c编程,正好有用...谢