- 博客(8)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
转载 C语言中static的作用(精炼)
static的作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容
2017-01-17 16:35:14 404
转载 C语言指针详解
指针我们通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,学习指针是很有必要的。 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:#include int main (){ int var1;
2017-01-12 11:16:25 2066
转载 Linux Core Dump
Linux Core Dump当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其
2017-01-10 14:59:33 577
原创 sem_init函数用法
sem_init函数sem_init函数是Posix信号量操作中的函数。sem_init() 初始化一个定位在 sem 的匿名信号量。value 参数指定信号量的初始值。 pshared 参数指明信号量是由进程内线程共享,还是由进程之间共享。如果 pshared 的值为 0,那么信号量将被进程内的线程共享,并且应该放置在这个进程的所有线程都可见的地址上(如全局变量,或者堆上动态分配的变量)。如果
2017-01-10 13:17:51 42782 1
原创 C语言如何打印LOG
第一种LOG函数#define LOG_PROC(log_level, format, arguments...) \ printf("[%s] ", log_level); \ printf(format, ##arguments); \ printf("\n");第二种LOG函数// 2UINT1 g_log_level; //设置日志显示级别#def
2017-01-10 09:20:22 5977
转载 linux调试----addr2line使用
我们在linux下开发程序时,经常遇到Segmentation fault的错误信息,如果代码比较少还可以去一行行排除,但是代码量比较大的时候,往往是一件头疼的事情。Segmentation fault会有地址抛出,我们可以利用addr2line定位到程序出错的行,这样是不是很方便的排查问题。下面就简单的介绍一下addr2line的使用方法。编写测试代码故意产生Segmentati
2017-01-09 17:43:57 1889
转载 C语言程序的编译过程
c语言程序的编译过程#includeint main(){ printf("Hello World!\n"); return 0;} 对于这个最简单的“Hello World!”程序——hello.c,它的生命周期一开始时是一个高级c程序,因为它处于这种形式时,它是能够被人读懂的。然而,为了在系统上运行hello.c
2017-01-09 17:30:32 576
转载 dmesg命令
Linux dmesg命令 Linux 命令大全Linux dmesg命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。语法dmesg [-cn][-s ]参数说明:-c 显示信息后,清除ri
2017-01-06 10:42:59 921
用什么方法可以实现一个实验室中的电脑相互博弈,做一些博弈试验
2014-06-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人