29

stdbool.h 的用法

C语言的标准函数库中的头文件stdbool.h包含了四个用于布尔型的预定义宏。本头文件是在C99标准中引入的。所以在编译时如果不是按照C99标准编译时会出现“编译器找不到stdbool.h这个头文件”的情况。所以要进行判断。

比较安全的用法是这样的。

#if HAVE_STDBOOL_H

……阅读全文

02

linux c库函数大全

Linux C函数库参考手册
第1章字符测试函数
isalnum(测试字符是否为英文字母或数字)
isalpha(测试字符是否为英文字母)
isascii(测试字符是否为ASCII码字符)
isblank(测试字符是否为空格字符)
iscntrl(测试字符是否为ASCII码的控制字符)……阅读全文

19

C Programmer’s Cookbook

C 高效编程忠告 – C Programmer’s Cookbook

这是对C++高效编程的一个总结, 很有指导作用.

一、#include “filename.h”和#include 的区别


#include “filename.h”是指编译器将从当前工作目录上开始查找此文件

……阅读全文

28

Linux C内存泄露检测工具

内存泄漏检查方法(for Linux)
如果你更想读原始文档, 请参考glibc info的”Allocation Debugging”一章 (执行info libc);
glibc提供了一个检查内存泄漏的方法, 前提是你的程序使用glibc的标准函数分配内存(如malloc, alloc…

……阅读全文

08

数据段 代码段 堆 栈 BSS

2cf5e0fe9925bc317f04430f5edf8db1ca1370cf   
 BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
    数据段:数据段(data segment)通常是指用来

……阅读全文

07

汇编调用c函数为什么要设置栈

.栈的整体作用

(1)保存现场/上下文

(2)传递参数:汇编代码调用c函数时,需传递参数

(3)保存临时变量:包括函数的非静态局部变量以及编译器自动生成的其他临时变量。

.为什么汇编代码调用c函数需要设置栈

之前看了很多关于uboot的分析,其中就有说要为C语言的运……阅读全文