- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 Linux编程-Linux进程(1)-进程环境
Linux进程环境 一、 进程启动 进程基本过程是内核调用exec函数,调用C程序的启动历程exit,exit从内核获取环境表及参数,传递给main。大致如下 内核exec-》exit(main(arg,argv)); 二、 进程终止 1. 正常终止: (1)main返回 (2)调用c 函数exit(C 退出函数会调用退出清理过程和关闭标准IO) (3)调用内核退出函数_e
2014-12-21 03:18:35 609
原创 Linux编程-标准IO(4)-临时文件
以下两种创建临时文件的接口测试 #include #include #include #include "tmpfile.h" #include #define MAXLINE 1024 void myTmpfile() { char name[L_tmpnam], line[MAXLINE]; FILE* fp; //获取临时文件名 printf("tim
2014-12-21 02:07:32 715
原创 Linux编程-标准IO(3)
读写定位及格式化输出 1. 读写定位函数 int fseek(FILE *stream, long offset, int whence); 设置文件读写位置 long ftell(FILE *stream); 获取文件读写位置 void rewind(FILE *stream); 回到文件开头 可处理文件长度大于long int fseeko(FILE
2014-12-20 13:51:12 588
原创 Linux编程-标准IO(2)
简单的文件读写实例 #include "stdIOTest.h" #include #include void ReadLog() { FILE* pLog = fopen("./log.txt", "a+"); if (NULL == pLog) { printf("open file failed\n"); return; }
2014-12-19 01:06:09 570
原创 linux编程-标准IO
标准IO简介 1. 标准IO与三种缓冲区关联: (1)全缓冲 通过标准IO对文件(或设备)进行操作时,通常缓冲区满之后,才会进行实际的IO操作(即写到内核)。对文件进行操作时通常使用全缓冲。 (2)行缓冲 通过标准IO对文件(或设备)进行操作时,通常缓冲区满之后,或者遇到换行符时,才会进行实际的IO操作(即写到内核)。标准输入输出通常使用行缓冲。 (3)无缓冲 每次操作通
2014-12-18 23:30:26 1181
原创 linux编程-文件操作(5)
高级API 一、fsync 接口说明 vod sync(void) 立即同步系统中所有内核中缓存的文件数据到磁盘 int fsync(int fd); 立即同步系统中所有内核中指定的文件数据到磁盘,包括变更文件属性 int fdatasync(int fd); 立即同步系统中所有内核中指定的文件数据到磁盘,不会影响文件属性 一般数
2014-12-18 01:59:02 606
原创 linux编程-文件操作(4)
文件描述符号拷贝dup 一、接口说明 #include int dup(int oldfd); int dup2(int oldfd, int newfd); #define _GNU_SOURCE /* See feature_test_macros(7) */ #include /*Obtain O
2014-12-18 01:01:43 565
原创 linux编程-文件操作(3)
多进程同步操作文件 一、多进程同步操作接口: 1. open 创建或打开文件 O_CREAT 检查文件是否存在,不存在则创建,存在则打开 O_CREAT | O_EXCL 检查文件是否存在,不存在则创建,存在则失败 O_APPEND 每次写自动跳到文件末尾 2. pread 读文件 等价于同时执行lseek 与 read 3.pwrite 写文件
2014-12-17 02:03:20 511
原创 linux编程-文件操作(2)
文件共享--linux文件相关数据结构 (1)进程表【进程维护】--每个进程独有 进程表中包含文件文件描述符,文件描述符指向文件表中的某一项 (2)文件表【内核维护】--每个进程独有 进程为打开的文件维护一张表,每一项包含进程对某个文件的当前操作状态,如文件状态(读、写、同步)、当前文件偏移以及V节点表中的某一项(v节点表项目) (3)V节点表【内核维护】--文件独有
2014-12-17 01:36:50 615
原创 linux编程-文件操作(1)
#include #include #include #include #include /* *STDIN_FILENO 0 标准输入 *STDOUT_FILENO 1 标准输出 *STDERR_FILENO 2 标准错误输出 */ int main(void) { intfdLog = -1; if(
2014-12-17 00:49:26 599
原创 使用autotool编译C++项目基本流程
一、设置基本目录结构 (1)创建源码目录,在顶层目录及src目录下分别创建Makefile.am (2)编辑顶层Makefile.am kf73381@ubuntu:~/workspace/UnixProgram/fileio$cat Makefile.am AUTOMAKE_OPTIONS=foreign SUBDIRS=src (3)编辑下层Makefile.
2014-12-17 00:44:53 1371
原创 Linux服务器开发原则总结
1. 最小权限原则。 2. 审查守护进程程序源代码中已知的所有脆弱漏洞,比如缓存区溢出。 3.对不期望或者可疑的行为做日志,这样管理员可以对此引起注意并进一步调查。
2014-12-05 01:11:28 621
原创 Makefile.am 常用变量说明
本文用于说明编写AutoTool工具中Makefile.am相关变量的用法 一、概述 Makefile.am是AutoTool编译时读取相关编译参数的配置文件,文件区分大小写,从顶层目录到子工程生成二进制文件的路径上的目录都要存在,如果中间目录不存在该文件,其下的子目录不会被编译。 其中 中间目录的Makefile.am至少包含 SUBDIRS 最终生成可执行文件文件的
2014-12-04 23:03:30 10335
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人