linuxC编程
文章平均质量分 55
lidonghat
不甘于平庸
展开
-
linux daemon代码完全注释
linux daemon代码注释,参考《unix环境高级编程》原创 2015-08-29 16:55:57 · 1116 阅读 · 0 评论 -
linux精炼代码记录:skip_atoi
//将“123”转换成123,并跳过字符串static int skip_atoi(const char **s) { int i=0; while (isdigit(**s)) i = i*10 + *((*s)++) - '0'; return i; }原创 2016-10-13 12:43:33 · 1294 阅读 · 1 评论 -
可重入,异步信号安全,线程安全
可重入,异步信号安全,线程安全学习小结。原创 2016-10-21 15:08:40 · 3759 阅读 · 3 评论 -
Streams, pipes, and redirects
IBM开发网站上关于管道重定向的讲解翻译 2017-02-13 13:57:39 · 324 阅读 · 0 评论 -
一张图总结计算机中数的表示
说明几点: 由于在计算机中给定数据类型(本文中以char类型为例说明),能表示的数据的范围是固定的,所以可以用一个圆表示,圆的左侧最高位为1,右侧最高位为0。 无符号类型的数据则不用关心补码表示的问题,原码和补码表示一样。 有符号类型的数据则由于需要占用一位符号位,所以正负数各占用一半,如图灰色和黄色表示。 如果1xxx xxxx和0yyy yyyy关于竖线对称,则顺时针移动1原创 2016-07-06 13:46:47 · 692 阅读 · 0 评论 -
exec家族
说明:exec [L,list][V,vector][P,path][E,environment],这几个函数中只有execve是内核服务,最后一个参数都为NULL是为了标识字符数组的结束。1.execlp(file,argv0,argv1,...,NULL),多个参数被拆开,而不是简单的放入数组中。----如,execlp("ls","ls","-a","demodir",NUL原创 2015-09-15 16:10:54 · 594 阅读 · 0 评论 -
c运算符优先级相关知识小结
运算符的优先级运算符的结合性操作数的求值顺序运算符优先级表运算符的优先级 在C++ Primer一书中,对于运算符的优先级是这样描述的: Precedence specifies how the operands are grouped. It says nothing about the order in which the operands are evaluated.原创 2016-03-22 12:40:05 · 379 阅读 · 0 评论 -
声明、定义、语句
语句:程序的基本组成部分,分可执行语句(定义)和不可执行语句(声明)。定义:分配存储空间,即具有了存储类型。声明:告诉编译器这个名字值的类型及宣告该名字的存在性,仅此而已。注意:int a;//在标C中为声明是不可执行语句而在C++中为定义是可执行语句 extern int a;//为声明是不可执行语句 CWinApp curApp;//对象定义是可执行语句/* ->表示gcc可以设置原创 2016-10-19 21:47:07 · 1162 阅读 · 0 评论 -
time
I. Linux中与时间相关的函数获取当前时间time(2) / time_t (秒) ###精度太低###ftime(3) / struct time (毫秒) ###已被废弃###gettimeofday(2) / struct timeval (微秒) ###满足日常计时的需要,推荐使用###clock_gettime(2) / struct timespec (纳秒原创 2016-10-20 18:28:22 · 693 阅读 · 0 评论 -
类型转换和符号扩展,again!
本文主要是关于类型转换和符号扩展的学习记录,要能通过现象看本质:符号扩展&零扩展(现象)--> 值在类型提升以后不能发生变化(本质)。原创 2017-01-05 21:26:58 · 599 阅读 · 0 评论 -
c运算符优先级
优先级运算符名称或含义使用形式结合方向说明1后置++后置自增运算符变量名++左到右 后置--后置自减运算符变量名-- [ ]数组下标数组名[整型表达式] ( )转载 2016-09-27 19:07:16 · 299 阅读 · 0 评论 -
gcc搜索路径
一、头文件搜寻会从-I开始环境变量 C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH内定目录:echo | gcc -Wp,-v -x c - -fsyntax-only二、编译时库文件gcc会去找-L再找gcc的环境变量LIBRARY_PATH再找内定目录 /lib:/usr/lib: /usr/local/lib原创 2016-09-27 18:39:34 · 466 阅读 · 0 评论 -
c/c++变量学习总结
一、 变量分类:1、从作用域来划分分为: 局部变量 - 自动变量auto,即动态局部变量(离开函数,值消失) - 静态局部变量static(离开函数,值还保留) - 寄存器局部变量register(离开函数,值消失) - 形式参数可以定义为自动变量原创 2016-01-19 18:59:57 · 322 阅读 · 0 评论 -
StackFrame栈帧
栈在程序运行中具有举足轻重的地位,栈保存了一个函数调用所需要的维护信息,被称为堆栈帧(Stack Frame) 一个函数(被调函数)的堆栈帧一般包括下面几个方面的内容:函数参数,默认调用惯例情况下从右向左的顺序依次把参数压入栈中。由函数调用方执行函数的返回地址,即调用方调用此函数(如call func1)的下一条指令的地址。函数调用方执行(call指令转载 2016-09-20 22:48:20 · 3079 阅读 · 0 评论 -
枚举
定义格式如enum weekday{ sun, mon, tue, wed, thu, fri, sat } day; 其中,sum,mon,…,sat 等称为枚举元素或枚举常量,它们是用户定义的标识符。 说明: * 枚举型是一个集合,集合中的枚举成员是一些命名的整型常量,元素之间用逗号,隔开 * 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1 在上面的定义中转载 2016-09-27 19:05:48 · 381 阅读 · 0 评论 -
关于优先级、结合性和求值顺序的讲解
一.运算符的优先级在C++ Primer一书中,对于运算符的优先级是这样描述的: Precedence specifies how the operands are grouped. It says nothing about the order in which the operands are evaluated. 优先级规定操作数的结合方式,但并未说明操作数的计算顺序。举个例子:转载 2016-10-07 22:51:43 · 2574 阅读 · 0 评论 -
linux系统调用分析
1、系统调用:由操作系统内核提供的一组接口,使得用户程序可以访问硬件设备和其它操作系统资源。程序中所有与系统有关的代码的实现都必须通过这些接口来完成。对于用户空间的进程,在一般情况下是通过应用编程接口(API)而不是系统调用来进行编程,有些API往往直接封装了系统调用,但这并不意味着两者是一一对应的。当前最流行的API是基于POSIX标准的。2、作用:a、为用户原创 2015-09-01 15:58:40 · 776 阅读 · 0 评论 -
md5源码详解
首先感谢雁渡寒潭,它的一篇博客让我读懂了md5源码,本来打算把那篇文档地址复制到此,但链接已无效请见谅。----------[MD5核心思路]:将信息分成N个512bit大小的BLOCK块,然后分别对每个BLOCK进行摘要运算,然后将结果用于下一个分组的运算,最终得到摘要结果-------------------MD5 算法描述首先我们假设我们有一个b位的输入信息,我们想获得其原创 2015-09-11 16:21:35 · 1445 阅读 · 0 评论 -
strcmp的实现
int compar(char *as1, char *as2){ char *s1, *s2; s1 = as1; s2 = as2; while (*s1++ == *s2) { if (*s2++ == 0) return(0); } return (*--s1 - *s2);}原创 2015-09-15 16:09:55 · 457 阅读 · 0 评论 -
字符串的存储
常见的字符串有两种形式:const char *szTmp1 = "hello";const char *szTmp2 = "\x86\x88";这两种形式的字符串有什么区别呢,在gdb下可以直观的看出来(gdb) x/16xb szTmp1 0x8048500: 0x68 0x65 0x6c 0x6c 0x6f 0x00 0x86 0x88原创 2016-06-17 14:48:04 · 387 阅读 · 0 评论 -
switch...case...
int i = 1; switch(i){puts("will i show?");case 1: puts("this is branch 1"); break;default: puts("this is default branch");}用两年多c,自认为c基础语法应该不是问题了吧,今天居然发现连switch…case…都没有完全掌握原创 2016-09-18 17:57:16 · 298 阅读 · 0 评论 -
xprintf format string
格式说明符总结翻译 2017-02-16 16:30:31 · 1653 阅读 · 0 评论 -
寄存器介绍
寄存器介绍原创 2017-04-19 19:37:25 · 68823 阅读 · 2 评论 -
linux内存文件系统
在Linux中可以将一部分内存mount为分区来使用,通常称之为RamDisk,分为:Ramdisk, ramfs, tmpfs.Ramdisk(k2.0+)原创 2017-07-20 18:43:25 · 790 阅读 · 0 评论 -
动态库知识小记
动态库相关的知识小结。原创 2017-07-10 14:07:18 · 516 阅读 · 0 评论 -
DNS相关概念
DNS服务器搭建原创 2015-12-27 00:36:17 · 1444 阅读 · 0 评论 -
“SIOCADDRT: Network is unreachable”不可达到底指的什么意思
路由的下一跳一定得是广播可达的,仅仅ping通(路由可达)没卵用!!!原创 2016-12-08 16:59:08 · 73510 阅读 · 3 评论 -
threads, processes, process groups and sessions
主要是相关知识的初步整理。session > process group > process > thread ps j可以查看进程的PID,PPID,PGID,SID信息原创 2016-11-15 14:21:15 · 527 阅读 · 0 评论 -
ubuntu16LTS下现代五笔的使用
现代五笔是一款不错的文字输入软件,主要是编码的思想比较优秀,结合了传统五笔和拼音的长处。上手快,输入更高效,用过都说好。ubuntu下可以自定义ibus输入法,所以你可以下载现在五笔码表,然后根据上面自定义的方法添加现代五笔输入法。ibus-table-createdb -s 码表 #生成码表数据库sudo cp 你的码表名.db /usr/share/ibus-table/tables/su原创 2016-06-09 22:38:54 · 1816 阅读 · 0 评论 -
天猫魔盘在ubuntu16.04中的使用
最新的电脑出厂配置的都是Win10系统,有个不好的地方就是老是更新,每次关机都要更新,实在无法容忍了就换了ubuntu16TLS,界面还是比较可以接受的。不过全新的ubuntu如果没有网络的话是很痛苦的,它不像centos有好多离线的软件包可以安装,apt-get对网络的依赖比较严重。可是我的台式机没有无线网卡,有条网线,但是路由器lan口用满了!公司有个闲置的天猫wifi,于是就想把它利用起来,把原创 2016-06-09 22:00:55 · 2469 阅读 · 2 评论 -
linux下ip冲突检测
1. 检测网域内是否存在和本机ip相同的主机windows主机会提示IP地址冲突,而linux主机无任何提示那么如何知道自己的linux主机是否与网络中其它的windows主机IP地址冲突呢? 在linux主机端执行 #arping 本机ip 如果没有任何信息,则表示网内我的IP是唯一的; 如果有 Unicast reply from x.x.x.x [xx:xx:xx:xx:xx:xx]原创 2016-09-15 21:54:52 · 7836 阅读 · 0 评论 -
linux软件管理学习笔记
linux软件管理学习笔记原创 2017-05-13 15:30:13 · 487 阅读 · 0 评论 -
linux文件的时间
linux文件的时间原创 2017-07-20 18:45:10 · 275 阅读 · 0 评论 -
ip route show中src关键字
ip route show中src关键字转载 2017-07-20 23:57:40 · 5386 阅读 · 0 评论 -
gcc与BOM
gcc&&BOM原创 2017-07-08 15:23:34 · 861 阅读 · 0 评论 -
strtok小记
strtok, extract tokens from strings,从字符串中截取子串原创 2017-07-10 10:07:06 · 602 阅读 · 0 评论 -
gcc常用选项
gcc常用选项原创 2017-07-10 11:23:27 · 317 阅读 · 0 评论 -
nginx,apache,MySQL,PHP查看编译参数
查看anmp编译参数原创 2017-09-19 10:04:45 · 669 阅读 · 0 评论 -
syslog总结
linux logger子系统学习总结。原创 2017-02-12 20:21:41 · 23503 阅读 · 1 评论 -
linux信号要点
linux信号处理总结原创 2017-02-13 00:04:21 · 316 阅读 · 0 评论