无界

我是Oracle Java JCP会员 博客域名 https://linuxstyle.blog.csdn.net/

C语言经典著作导读

本人不是卖书的,我也不会给出任何购书链接,只是给C语言学习者推荐一条学习的方向。如果你喜欢看电子书网上很多,如果你喜欢纸质那么就买吧,经典的书值得收藏,是对版权的尊重! 基础篇1.《写给大家看的C语言书(第2版)》原书名: Absolute Beginner's Guide to C (2nd E...

2011-06-21 14:20:00

阅读数 25171

评论数 23

.c和.h文件的区别

  一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了。同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼:子程序不要定义在.h中。函数定义要放在.c中,而.h只做声明.否则多引用几次,就会发生函数重复定义的错误。3楼...

2004-10-24 23:20:00

阅读数 164773

评论数 17

valgrind massif检查长期闲置堆积导致的内存泄露

memcheck 内存泄露是线上很严重也是比较常见的故障,内存泄漏问题,一般可以用memcheck工具来检查。 http://valgrind.org/docs/manual/mc-manual.html Memcheck是一个内存错误检测器。它可以检测C和C ++程序中常见的以下问题。 ...

2019-05-02 00:29:09

阅读数 762

评论数 4

从Nginx源码谈大小写字符转化的最高效代码以及ASCII码表的科学

说起大小写字母转换,大家很容易想起系统函数是不是,几乎所有的编程语言都提供了这种转换函数,但是你有没有想过这背后是怎么实现的?然你写怎么实现?我们都知道Nginx是目前用的最多的Http服务器,那么他的代码相信也是最高效率的,事实也是如此,最起码我找不到比他的处理方法更好的了,如果你有欢迎告诉我。...

2014-11-18 19:43:00

阅读数 4796

评论数 4

gcc -E 选项

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面. 例子用法: gcc -E hello.c > pianoapan.txt gcc -E hello.c | more 慢慢看吧,一个hello word 也要与处理成800行的代码 -E选项,...

2013-10-11 09:50:47

阅读数 4948

评论数 3

Linux0.01内核根目录Makefile注释

# # Makefile for linux. # If you don't have '-mstring-insns' in your gcc (and nobody but me has :-) # remove them from the CFLAGS defines. # # #8086...

2012-12-10 14:02:15

阅读数 9638

评论数 2

linux上使用strace查看C语言级别的php源码【一种方法】

如果你希望看到C语言级别的php代码就需要使用strace这个默认是安装了的,如果没有安装可以#yum install strace 查看httpd进程#ps auxw | grep httpd有多个,必须停止apache [root@localhost usr]# /usr/local/webs...

2012-11-18 00:06:04

阅读数 15227

评论数 3

自己开发操作系统

算是《30天自制操作系统》的读书笔记吧,但是我觉得原书不少地方啰嗦,某些做法值得商榷http://product.china-pub.com/3682838 1.二进制编译器首先下载Bzl1621.lzh,这个可以把二进制数编辑的软件。BZ启动画面 打开img文件 2.使用虚拟机加载IMG文件注意...

2012-11-17 00:05:17

阅读数 7814

评论数 2

Unix下C程序内存泄漏检测工具Valgrind安装与使用

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。 Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。 Valgrind遵守GNU通用公共许可证条款,是一款自由软件...

2012-11-11 21:39:40

阅读数 35391

评论数 5

栈区和堆区内存分配区别

一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放 ,存放函数的参数...

2012-04-07 22:41:11

阅读数 4911

评论数 1

按位与、或、异或等运算方法

按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1;       即:两位同时为“1”,结果才为“1”,否则为0例如:3&5  即 0000 0011 &a...

2012-03-23 15:00:08

阅读数 35062

评论数 5

C语言九阴真经

发现记忆力越来越差,所以干脆搞这么一个东西,就是把C语言的最常用的语法汇编在一起,不断完善。这样以后只要经常把这个回顾一下就可以了。不然去翻书太多了。。。 f.h#define Area 1000 struct student{ char *last_name; int student_...

2012-03-15 18:22:31

阅读数 6336

评论数 4

用递归法计算斐波那契数列的第n项

斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波...

2012-03-12 14:56:23

阅读数 27991

评论数 2

从hello world 说程序运行机制

http://www.cnblogs.com/yanlingyin/archive/2012/03/05/2379199.html  开篇学习任何一门编程语言,都会从hello world 开始。对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的hello world。然而,对于hel...

2012-03-05 18:03:34

阅读数 3802

评论数 2

C语言位操作

C语言是一种中级语言,能对计算机硬件直接操作,这就涉及到位的概念。一、位的概念 我们知道,在计算机中,一字节占8位(现在的某些电脑也有占16位的),这样表示的数的范围为0-255,也即00000000-11111111。位就是里面的0和1。 char c=100; ...

2011-12-06 11:00:52

阅读数 3403

评论数 1

C语言整型数据类型

int数据类型的位数为16位,short int数据类型的位数也是16位。而long int的位数为32位,可用来存储比较大的整数。 short int 和 long int可以缩写为short 和 long。              C语言中的整型数据类型int、short

2011-09-07 19:31:33

阅读数 15224

评论数 0

Unix/Linux开源世界资源链接汇总【不断更新】

最后更新:2012.12.04说明:好东西在后面,Linux镜像基本涵盖全球主要下载点。【长期更新】世界很大,我们很小,学海无涯,书山有路!一.内核Unix代码大全http://minnie.tuhs.org/UnixV6https://github.com/Rajmohan/UnixV6Free...

2011-09-06 17:10:11

阅读数 23009

评论数 11

Linux中errno使用

当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要到errno

2011-09-01 16:46:00

阅读数 30620

评论数 3

C语言 条件编译详解

预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目

2011-08-31 23:47:37

阅读数 11380

评论数 4

C语言memset函数详解(Linux下和windows下的差异)

memest原型 (please type "man memset" in your shell)   void *memset(void *s,  int c, size_t n);  memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种

2011-08-30 16:12:19

阅读数 4798

评论数 6

提示
确定要删除当前文章?
取消 删除