1、判断本机是32位还是64位:

(sizeof(long) == 8) ? 64 : 32;

2、设置当前进程的最大文件描述符限制:

/*http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html
*设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,
* 硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,
* 同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。
*RLIM_INFINITY的值表示不对资源限制
*下面的函数将当前进程的描述符修改为iMaxNum,如果当前的描述符最大值已经超过了iMaxNum就不再修改;
*如果iMaxNum大于原来的描述符限制值,则采用试探的方式进行设置
*----------by jason.hou*/
void setFileOperaterNum(int iMaxNum, int iStep) {rlim_t maxfiles = iMaxNum;struct rlimit limit;if (getrlimit(RLIMIT_NOFILE,&limit) == -1) {printf("Unable to obtain the current NOFILE limit (%s), assuming 1024 ", strerror(errno));} else {rlim_t oldlimit = limit.rlim_cur;if (oldlimit < maxfiles) {rlim_t f;            f = maxfiles;while(f > oldlimit) {limit.rlim_cur = f;limit.rlim_max = f;if (setrlimit(RLIMIT_NOFILE,&limit) != -1) break;f -= iStep;}}}
}

3、创建守护进程

void daemonize(void) {int fd;if (fork() != 0) exit(0); /* parent exits */setsid(); /* create a new session */if ((fd = open("/dev/null", O_RDWR, 0)) != -1) {dup2(fd, STDIN_FILENO);dup2(fd, STDOUT_FILENO);dup2(fd, STDERR_FILENO);if (fd > STDERR_FILENO) close(fd);}
}

linux下C的一些开发技巧总结相关推荐

  1. Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  2. linux下gdb调试方法和技巧详解

    linux下gdb调试方法和技巧整理 简介 UNIX或者UNIX-like下调试工具 启动gdb # 1. 在可执行程序不需要输入参数时,我们可以使用 gdb + 可执行程序 gdb ./typeid ...

  3. Linux 下搭建 Java Web 开发环境

    Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...

  4. linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程

    LINUX下QT For ARM开发环境搭建过程是本文介绍的内容,不多说,先来看内容.在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括 ...

  5. 在linux下搭建git环境,在linux下搭建git github开发环境

    在linux下搭建git github开发环境 github git linux 1.安装git sudo apt-getinstall git 2.Generating SSH keys 2.1.g ...

  6. 第4章 Linux下的C语言开发基础

    第4章 Linux下的C语言开发基础 4.1 C语言开发的基本步骤 C语言源程序开发的基本步骤如下: 根据项目需求划分功能模块 编辑.利用文本编辑器vi或gedit编写C源程序并保存,文件的后缀为.c ...

  7. Linux下搭建Cortex-M嵌入式开发环境

    Linux下搭建Cortex-M嵌入式开发环境 终于换上了Linux,更换之前考虑良久,最后选定了Ubuntu15(PS:自己家里用的是Fedora),主要是考虑Ubuntu确实更易用(但明显没有De ...

  8. linux网卡驱动开发视频,Linux下网卡驱动程序的开发.doc

    Linux下网卡驱动程序的开发 论文题目:Linux下网卡驱动程序的开发 专 业: 年 级: 学生学号: 学生姓名: 指导教师: 完成时间: Linux下网卡驱动程序的开发 八年经验 专业指导毕业设计 ...

  9. Linux下LED设备驱动开发(LED灯实现闪烁)

    文章目录 一.配置连接说明 二.更新设备树 (1)将led灯引脚添加到pinctrl子系统 (2)设备树中添加LDE灯的设备树节点 (3)编译更新设备树 三.驱动开发与测试 (1)编写设备驱动代码 ( ...

最新文章

  1. 龙果支付 mysql_龙果支付系统搭建与部署
  2. [原创]一起来做网页游戏---前言
  3. 2879: [Noi2012]美食节
  4. bzoj 2007 [Noi2010]海拔——最小割转最短路
  5. 八、操作系统——基本分页存储管理的基本概念(详解)
  6. 在Windows上创建CUDA C程序
  7. 开发技术理论学习与实践的关系
  8. javaScript的字符串对象
  9. 网页标题设计原则与一般规律
  10. linux mysql 数据按表名称备份
  11. 阻塞io阻塞io_面试官:直接IO、缓存IO、阻塞与同步?
  12. 安装flash player提示版本不是最新,无法安装
  13. Stata数据处理:清洗中国城市建设统计年鉴
  14. xu2w显示屏软件下载_LED BEST(LED显示屏控制软件) V2.8 官方版
  15. python超链接程序,python超链接
  16. cmd配网关_win7下用DOS命令修改IP、网关和DNS
  17. Unity组件:Lens Flare 镜头光晕
  18. java算球体积的代码_java - 球体体积法不起作用 - 堆栈内存溢出
  19. TransCad导入Excel中的OD矩阵和PA数据
  20. b站路飞学城python课梨视频项目代码

热门文章

  1. day5 Java中的方法与重载
  2. Java基本数据类型的转换
  3. 仿qq邮箱源码程序_小伙子利用C++实现邮件程序发送和接收
  4. java web 添加超链接_Javaweb 超链接后显示问题
  5. 大工13秋《计算机文化基础》在线测试1,大工13秋《计算机文化基础》辅导资料六...
  6. matlab 图像读取长宽_计算机视觉学习笔记1 图像读取显示和尺寸变换
  7. 科学计算机fix sci,计算器按mode出来的comp、SD、REG、DEg、Rad、Gra、Fix、Sci、Norm、Disp、是什么意思?...
  8. matlab衰减指数的程序是,衰减方程的数值计算程序(matlab和fortran)
  9. 批量导入时间oracle excel,读取Excel数据、批量导入到Oracle数据库
  10. html框架里面怎么填写内容_还不会Python高级框架?进来,速学