
linux c编程
文章平均质量分 65
scdxmoe
这个作者很懒,什么都没留下…
展开
-
linux c编程:make Makefile工具的使用
最近在linux平台上写C代码,学习了make工具,在此做个小结,备忘,希望对新手有些帮助。make的命令格式:make [选项] [宏] [目标]-f 指定makefile文件名-i 忽略命令执行返回的出错信息,继续向下执行,如果没有的话碰到错误就停了-s 沉默模式, 在执行前不输出相应的命令行信息-r 禁止build-in规则-n 非执行原创 2014-04-09 13:48:27 · 1223 阅读 · 0 评论 -
各种字符串Hash函数比较
https://www.byvoid.com/blog/string-hash-compare/常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBH转载 2016-01-29 11:28:47 · 378 阅读 · 0 评论 -
原码, 反码, 补码 详解
http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/computercode.html 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!转载 2016-01-29 11:48:05 · 414 阅读 · 0 评论 -
【C语言复习(六)】隐式类型转换相关分析
http://blog.youkuaiyun.com/cmbug/article/details/30258429 C语言中可以做隐式类型转换,不需要我们明确指明,这点很方便,当有时候也带来隐性的问题。先看看C语言中隐式类型转换的规则:1)、算术运算式中,低类型转换为高类型;类型的高低参考下图:2)、赋值表达式中,表达式的值转换为左边变量的类转载 2016-01-29 11:51:43 · 491 阅读 · 0 评论 -
10个经典的字符串hash函数的C代码实现
http://blog.youkuaiyun.com/jcwkyl/article/details/4088436所有内容均来自于:http://www.partow.net/programming/hashfunctions/以下总共给出了10种字符串hash函数,在上面的链接中可以找到各个Hash函数的描述,以及一些其它的关于hash函数的资料下载。这些hash函数各自的优缺点转载 2016-01-29 11:27:46 · 1286 阅读 · 0 评论 -
C语言中const的用法
http://sunke.blog.51cto.com/4812218/12825731、const的普通用法const int n = 10;意思很明显,n是一个只读变量,程序不可以直接修改其值。这里还有一个问题需要注意,即如下使用:int a[n];在ANSI C中,这种写法是错误的,因为数组的大小应该是个常量,而n只是一个变量。 2、const用于指针转载 2016-02-02 10:05:41 · 700 阅读 · 0 评论 -
C中函数传递参数原理:值传递, 指针传递?
http://blog.youkuaiyun.com/itianyi/article/details/8593391这几天在学习C过程中,在使用指针作为函数参数传递的时候出现了问题,根本不知道从何得解:源代码如下: createNode(BinNode *tree,char *p) { tree = (BinNode *) malloc(sizeof(BinNod转载 2016-02-04 14:44:35 · 610 阅读 · 0 评论 -
逻辑运算:按位与运算符
http://blog.sina.com.cn/s/blog_618199e60100ka5b.html按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0转载 2016-04-03 22:12:39 · 1981 阅读 · 1 评论 -
2016年,C语言该怎样写
http://geek.youkuaiyun.com/news/detail/63135导语:你的C语言知识可能该更新了。每个人在学习C语言之后,知识往往停滞不前,从开始学习它的那年起积攒起不同观点。本文将告诉你现代C语言该怎么写。C语言的首要原则是——能不写C语言就不写。如果一定要写,请遵守现代规则。C语言诞生于20世纪70年代初。人们在其发展的各个阶段都在“学习C语言”,但转载 2016-05-17 09:53:19 · 397 阅读 · 0 评论 -
gcc编译生成静态及动态链接库步骤
http://blog.youkuaiyun.com/a600423444/article/details/7206015在windows下动态链接库是以.dll后缀的文件,二在Linux中,是以.so作后缀的文件。动态链接库的好处就是节省内存空间。1、Linux下创建动态链接库在使用GCC编译程序时,只需加上-shared选项即可,这样生成的执行程序即为动态链接库。例如有文件转载 2015-12-24 18:14:27 · 615 阅读 · 0 评论 -
常见gcc编译警告整理(开始)
http://blog.youkuaiyun.com/tietao/article/details/7244997 1、warning: no newline at end of file在文件最后一行加上回车键解释:在《Rationale for the C99 standard》一文中,有C99的相关信息:A backslash immediately before a转载 2015-12-29 10:33:14 · 1053 阅读 · 0 评论 -
linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换
用域名获取IP地址或者用IP获取域名#include#include#includeint main(int argc,char **aggv){ struct hostent *host; char hostname[]="www.163.com"; char hostname2[]="www.baidu.com"; s原创 2014-05-13 19:42:19 · 2565 阅读 · 0 评论 -
Linux内存管理
摘自:http://www.kuqin.com/linux/20120110/317252.htmlorisun@orisun-desktop:~/Program$size memory2text data bss dec hexfilename2074 284 16 2374 946memory2可以看到一个可执行程序在存储(没有调入内存)时分为代码区,数据区,未转载 2014-05-20 16:17:03 · 823 阅读 · 0 评论 -
gcc 生成 .a静态库和 .so动态库
http://www.cnblogs.com/ymy124/archive/2012/04/13/2446434.html 我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态转载 2014-09-17 14:37:36 · 894 阅读 · 0 评论 -
GNU C - 一个别致的HelloWorld程序 引申到: __attribute__((constructor)|(destructor)(PRIORITY))
http://www.cnblogs.com/respawn/archive/2012/07/09/2582078.html 在前面的>关于object files的内容中,有看到使用自定义段的部分内容,(如果关于object files的内容不了解的话,可以去参考>这本书或者去wiki,其中也有关于段的解释,也可以称作节区.) 可以通过硬编码实现自定义段.转载 2014-10-15 15:31:01 · 758 阅读 · 0 评论 -
#ifdef DEBUG的理解
http://www.cnblogs.com/ezrax/archive/2008/08/06/1262032.html 今天看到一段代码,对ifdef的概念比较模糊,于是去学习了一下,找到一个很好的解释,如下: 在工程设置里有一些设置会对该工程自动产生一系列的宏,用以控制程序的编译和运行。就好象楼上说的一样,如果你把代码夹在#ifdef DEBUG 和对应的 #endi转载 2015-07-23 10:37:28 · 1957 阅读 · 0 评论 -
TCP socket 选项:TCP_NODELAY TCP_CORK
TCP_NODELAY在网络拥塞控制领域,我们知道有一个非常有名的算法叫做Nagle算法(Naglealgorithm),这是使用它的发明人JohnNagle的名字来命名的,JohnNagle在1984年首次用这个算法来尝试解决福特汽车公司的网络拥塞问题(RFC 896),该问题的具体描述是:如果我们的应用程序一次产生1个字节的数据,而这个1个字节数据又以网络数据包的形式发送到远端服务器,转载 2015-09-16 15:08:21 · 2746 阅读 · 0 评论 -
C语言指针转换为intptr_t类型
http://www.cnblogs.com/Anker/p/3438480.html 1、前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量。由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针。感觉很奇怪,为何要将一个指针这样做呢?如是果断上网查查,发现我的感觉是错误的,所以,任何事情不能凭感觉,要弄清楚来转载 2015-10-08 15:55:49 · 429 阅读 · 0 评论 -
大端序与小端序
http://www.cnblogs.com/graphics/archive/2011/04/22/2010662.html 大端序与小端序何为大端序,小端序?简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了。注意字节序是硬件层面的东西,对于软件来说通常是透明的转载 2016-05-18 14:56:31 · 442 阅读 · 0 评论