diff --git a/Linux系统编程篇/02目录IO/mkdir b/Linux系统编程篇/02目录IO/mkdir new file mode 100755 index 0000000..579ed1c Binary files /dev/null and b/Linux系统编程篇/02目录IO/mkdir differ diff --git a/Linux系统编程篇/02目录IO/mkdir.c b/Linux系统编程篇/02目录IO/mkdir.c new file mode 100644 index 0000000..fd32af4 --- /dev/null +++ b/Linux系统编程篇/02目录IO/mkdir.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + int ret; + if(argc !=2 ) + { + printf("uage:%s +#include +#include +#include +#include + + + +int main(int argc, char *argv[]) +{ + int ret; + DIR *dp; + if (argc !=2){ + printf("Usage:%s \n", argv[0]); + return -1; + } + dp = opendir(argv[1]); + if (dp !=NULL){ + printf("opendir is ok\n"); + return -1; + } + closedir(dp); + printf("opendir is closed\n"); + return 0; +} diff --git a/Linux系统编程篇/02目录IO/readdir b/Linux系统编程篇/02目录IO/readdir new file mode 100755 index 0000000..b85cc3c Binary files /dev/null and b/Linux系统编程篇/02目录IO/readdir differ diff --git a/Linux系统编程篇/02目录IO/readdir.c b/Linux系统编程篇/02目录IO/readdir.c new file mode 100644 index 0000000..95517b8 --- /dev/null +++ b/Linux系统编程篇/02目录IO/readdir.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ int ret; + DIR *dp; + struct dirent *dir; + if (argc != 2){ + printf("Uage:%s \n",argv[0]); + return -1; + }; + dp = opendir(argv[1]); + if (dp == NULL) { + printf("opendir is error\n\n"); + return -2; + } + printf("opendir is ok\n"); + while(1) + { + dir = readdir(dp); + if (dir!=NULL) { + printf("file name is %s\n",dir->d_name); + } + else + break; + } + closedir(dp); + return 0; +} diff --git a/Linux系统编程篇/02目录IO/test/a.test b/Linux系统编程篇/02目录IO/test/a.test new file mode 100644 index 0000000..e69de29 diff --git a/Linux系统编程篇/03库的制作与使用/动态库制作/a.out b/Linux系统编程篇/03库的制作与使用/动态库制作/a.out new file mode 100755 index 0000000..8783cc9 Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/动态库制作/a.out differ diff --git a/Linux系统编程篇/03库的制作与使用/动态库制作/libmylib.so b/Linux系统编程篇/03库的制作与使用/动态库制作/libmylib.so new file mode 100755 index 0000000..f96629d Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/动态库制作/libmylib.so differ diff --git a/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.c b/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.c new file mode 100644 index 0000000..229d60e --- /dev/null +++ b/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.c @@ -0,0 +1,6 @@ +#include +void mylib(void); +void mylib(void) +{ + printf("This is mylib\n"); +} diff --git a/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.o b/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.o new file mode 100644 index 0000000..37674c4 Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/动态库制作/mylib.o differ diff --git a/Linux系统编程篇/03库的制作与使用/动态库制作/test.c b/Linux系统编程篇/03库的制作与使用/动态库制作/test.c new file mode 100644 index 0000000..1473336 --- /dev/null +++ b/Linux系统编程篇/03库的制作与使用/动态库制作/test.c @@ -0,0 +1,7 @@ +#include + +void mylib(void); +int main(void){ + mylib(); + return 0; +} diff --git a/Linux系统编程篇/03库的制作与使用/静态库制作/a.out b/Linux系统编程篇/03库的制作与使用/静态库制作/a.out new file mode 100755 index 0000000..51d9d00 Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/静态库制作/a.out differ diff --git a/Linux系统编程篇/03库的制作与使用/静态库制作/libmylib.a b/Linux系统编程篇/03库的制作与使用/静态库制作/libmylib.a new file mode 100644 index 0000000..428a16c Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/静态库制作/libmylib.a differ diff --git a/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.c b/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.c new file mode 100644 index 0000000..229d60e --- /dev/null +++ b/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.c @@ -0,0 +1,6 @@ +#include +void mylib(void); +void mylib(void) +{ + printf("This is mylib\n"); +} diff --git a/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.o b/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.o new file mode 100644 index 0000000..37674c4 Binary files /dev/null and b/Linux系统编程篇/03库的制作与使用/静态库制作/mylib.o differ diff --git a/Linux系统编程篇/03库的制作与使用/静态库制作/test.c b/Linux系统编程篇/03库的制作与使用/静态库制作/test.c new file mode 100644 index 0000000..1473336 --- /dev/null +++ b/Linux系统编程篇/03库的制作与使用/静态库制作/test.c @@ -0,0 +1,7 @@ +#include + +void mylib(void); +int main(void){ + mylib(); + return 0; +} diff --git a/Linux系统编程篇/04进程基础/a.out b/Linux系统编程篇/04进程基础/a.out new file mode 100755 index 0000000..bb4ce04 Binary files /dev/null and b/Linux系统编程篇/04进程基础/a.out differ diff --git a/Linux系统编程篇/04进程基础/getpid.c b/Linux系统编程篇/04进程基础/getpid.c new file mode 100644 index 0000000..44e2828 --- /dev/null +++ b/Linux系统编程篇/04进程基础/getpid.c @@ -0,0 +1,23 @@ +#include +#include + + +int main(void) +{ + pid_t pid; + pid = fork(); + if (pid < 0) + { + printf("fork is error\n"); + return -1; + } + // 父进程 + if (pid > 0) { + printf("This is parent, parent pid is %d\n",getppid()); + } + // 子进程 + if (pid == 0){ + printf("This is child, child pid is %d\n",getpid()); + } + return 0; +}