![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux编程笔记
文章平均质量分 76
Magina3
随和,好学,善于设计,兴趣广泛。
展开
-
使用autotool编译C++项目基本流程
一、设置基本目录结构(1)创建源码目录,在顶层目录及src目录下分别创建Makefile.am (2)编辑顶层Makefile.amkf73381@ubuntu:~/workspace/UnixProgram/fileio$cat Makefile.am AUTOMAKE_OPTIONS=foreignSUBDIRS=src (3)编辑下层Makefile.原创 2014-12-17 00:44:53 · 1354 阅读 · 0 评论 -
Linux开发工具-Eclipse
1、下载eclipsehttp://www.eclipse.org/downloads/备注:eclipse有标准版和为各种应用专门配置的版本,如for java,for C++是在标准版的基础上集成了JAVA开发插件和C++开发插件,只需下载其中一个版本,在下载响应的插件就能支持多个开发环境。2. 安装eclipse3.安装相关原创 2015-02-28 01:12:18 · 2857 阅读 · 0 评论 -
Linux编程-信号
Linux编程-信号一、信号的处理方式(1)忽略(不能忽略SIGKILL、SIGSTOP信号)(2)捕捉(不能捕捉SIGKILL、SIGSTOP信号)(3)执行系统默认(根据信号不同有不同的处理,大部分是终止进程)原创 2015-01-04 01:18:14 · 546 阅读 · 0 评论 -
Linux编程-Linux进程关系
Linux进程关系一、Linux终端登陆流程(1)内核进程启动(进程ID 0)(2)内核启动init进程(进程ID 1)(3)init进程读取(Linux-/etc/inittab、BSD-/etc/ttys),为每个登陆的终端fork子进程,并通过exec启动getty程序(4)getty子进程打开终端设备,获取登陆用户名,并通过execl执行login程序(5)logi原创 2015-01-04 00:02:23 · 695 阅读 · 0 评论 -
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 · 602 阅读 · 0 评论 -
Linux服务器开发原则总结
1. 最小权限原则。2. 审查守护进程程序源代码中已知的所有脆弱漏洞,比如缓存区溢出。3.对不期望或者可疑的行为做日志,这样管理员可以对此引起注意并进一步调查。原创 2014-12-05 01:11:28 · 612 阅读 · 0 评论 -
Makefile.am 常用变量说明
本文用于说明编写AutoTool工具中Makefile.am相关变量的用法一、概述Makefile.am是AutoTool编译时读取相关编译参数的配置文件,文件区分大小写,从顶层目录到子工程生成二进制文件的路径上的目录都要存在,如果中间目录不存在该文件,其下的子目录不会被编译。其中中间目录的Makefile.am至少包含SUBDIRS 最终生成可执行文件文件的原创 2014-12-04 23:03:30 · 10325 阅读 · 0 评论 -
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 · 576 阅读 · 0 评论 -
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 · 564 阅读 · 0 评论 -
linux编程-标准IO
标准IO简介1. 标准IO与三种缓冲区关联:(1)全缓冲通过标准IO对文件(或设备)进行操作时,通常缓冲区满之后,才会进行实际的IO操作(即写到内核)。对文件进行操作时通常使用全缓冲。(2)行缓冲通过标准IO对文件(或设备)进行操作时,通常缓冲区满之后,或者遇到换行符时,才会进行实际的IO操作(即写到内核)。标准输入输出通常使用行缓冲。(3)无缓冲每次操作通原创 2014-12-18 23:30:26 · 1173 阅读 · 0 评论 -
Linux编程-标准IO(4)-临时文件
以下两种创建临时文件的接口测试#include #include #include #include "tmpfile.h"#include #define MAXLINE 1024void myTmpfile(){char name[L_tmpnam], line[MAXLINE];FILE* fp;//获取临时文件名printf("tim原创 2014-12-21 02:07:32 · 705 阅读 · 0 评论 -
linux编程-文件操作(2)
文件共享--linux文件相关数据结构(1)进程表【进程维护】--每个进程独有进程表中包含文件文件描述符,文件描述符指向文件表中的某一项(2)文件表【内核维护】--每个进程独有进程为打开的文件维护一张表,每一项包含进程对某个文件的当前操作状态,如文件状态(读、写、同步)、当前文件偏移以及V节点表中的某一项(v节点表项目)(3)V节点表【内核维护】--文件独有原创 2014-12-17 01:36:50 · 607 阅读 · 0 评论 -
linux编程-文件操作(5)
高级API一、fsync接口说明vod sync(void)立即同步系统中所有内核中缓存的文件数据到磁盘 int fsync(int fd);立即同步系统中所有内核中指定的文件数据到磁盘,包括变更文件属性 int fdatasync(int fd);立即同步系统中所有内核中指定的文件数据到磁盘,不会影响文件属性一般数原创 2014-12-18 01:59:02 · 601 阅读 · 0 评论 -
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 · 587 阅读 · 0 评论 -
linux编程-文件操作(3)
多进程同步操作文件一、多进程同步操作接口:1. open 创建或打开文件O_CREAT 检查文件是否存在,不存在则创建,存在则打开O_CREAT | O_EXCL 检查文件是否存在,不存在则创建,存在则失败O_APPEND 每次写自动跳到文件末尾2. pread 读文件等价于同时执行lseek 与 read3.pwrite 写文件原创 2014-12-17 02:03:20 · 504 阅读 · 0 评论 -
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 · 558 阅读 · 0 评论 -
开源项目导入eclipse的一般步骤
转自:http://my.oschina.net/zhoukuo/blog/335788 开源项目导入eclipse的一般步骤 下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录,如果看到里面有.calsspath .project文件,那么说明这个项目本来就是eclip转载 2015-03-09 00:01:49 · 745 阅读 · 0 评论