编程语言-C
文章平均质量分 59
C语言实战
一 铭
公众号:大数据架构师修行之路
展开
-
深入了解C语言
C语言生成的代码在执行效率上比其它高级语言都高.现在让我们来看看C语言生成的代码具体是什么样子的.当你看完本文对于C语言的了解一定会更深一步了. 本文通过一个个实际案例程序来讲解C语言. 研究案例一 工具: Turboc C v2.0,Debug,MASM v5.0,NASM实例C程序:/* example1.c */char ch;int e_main(){ e_putchar(ch); } 目转载 2006-07-31 17:52:00 · 1095 阅读 · 0 评论 -
如何调试segment fault错误
概述本文讲述如何调试c运行时出现的segment fault错误。本文首先对segment fault错误的原因进行一些分析,然后介绍了一种调试该错误的方法。原因分析造成segment fault,产生core dump的可能原因可能有以下几种内存访问越界(1)由于使用错误的下标,导致数组访问越界(2)搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结...原创 2019-04-04 10:25:19 · 9770 阅读 · 1 评论 -
mac book上安装和使用gdb
概述本文讲述如何在mac book中安装和调试gdb。由于自己在mac book上安装gdb的过程中遇到的一些问题,通过本文把这些问题总结一下,并提供解决之道。安装版本问题uname -a输出如下:17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71....原创 2018-09-06 09:14:57 · 2440 阅读 · 0 评论 -
如何在vim中轻松阅读代码
有时候在vim中阅读代码十分的方便,特别是阅读c/c++代码。通过一定的配置,可以使vim具有ide的阅读体验。安装ctags和cscope第一步安装vim需要的工具。ctags和cscope这是两个古老而又强大的为代码建立索引的工具,在redhat系列的linux系统下(例如:redhat,centos,fedra等)安装非常方便。原创 2017-12-28 06:38:35 · 9166 阅读 · 2 评论 -
C 语言的关键字 const详解
C 语言的关键字 const详解1, 基本的const1.1 const和变量的初始化 如果在定义const自动变量时没有进行初始化,那么就没法直接进行初始化,而只能通过指针间接进行初始化。intmain() { const int a; a = 9; //这里无法通过编译 //错误原创 2009-03-03 17:47:00 · 1013 阅读 · 0 评论 -
C语言的内存的字节对齐的理解及其运用
C语言的内存的字节对齐的理解于运用由于现在内存的安排一般是4字节对齐的,所以在进行结构的定义的时候,顺序不同其所占内存也是不一样的。1, 问题的提出typedef struct t { int num1; int num2; char b; char a;}T; typedef struct t原创 2009-03-04 15:21:00 · 1221 阅读 · 0 评论 -
makefile 问答
1, Makefile文件的执行流程是怎样的?make的执行过程如下: 1) 依次读取变量“MAKEFILES”定义的makefile文件列表 2) 读取工作目录下的makefile文件(根据命名的查找顺序“GNUmakefile”,“makefile”,“Makefile”,首先找到那个就读取那个) 3) 依次读取工作目录makefile文件中使用指示符“include”原创 2009-03-24 16:11:00 · 1635 阅读 · 0 评论 -
makefile中的自动变量的使用
$@ : 扩展为当前规则的目的文件名$$^:扩展为当前规则的整个依赖列表举例:======Makefile start======OBJS : foo.o bar.oCC=gccCFLAGS = -Wall -o -gmyprog : foo.o bar.o $(CC) $^ -o $@foo.o : foo.c foo.h bar.h $(CC) $(CFLAGS) -c $bar.转载 2009-07-11 14:58:00 · 2274 阅读 · 0 评论 -
一个整数转换成2进制
#include "all.h"#define INT_BITS (sizeof(int)*8)#define M (1void int2bit(int n);void int2bit2(int n);intmain(void){ int n; printf("%d/n", INT_BITS); scanf("%原创 2010-05-13 22:56:00 · 1887 阅读 · 0 评论 -
C 编程最佳实践指导
*空格-----充分利用水平和垂直空格。缩进和空格间距应反映出代码的块结构。 应将条件运算符的长字符串分割成单独的几行。例如: if (foo->;next==NULL && number && node_active(this_input)) {...最好改成: if (foo->;next == NULL && number转载 2008-04-17 18:52:00 · 845 阅读 · 0 评论 -
C标准库实现分析
I believe that seeing a realistic implementation of the Standard C library can help you better understand how to use it.转载 2006-07-31 18:07:00 · 3964 阅读 · 0 评论 -
使用jemalloc来对c,c++程序进行内存管理
概述本文讲述如何在c/c++程序中使用je_malloc内存管理模块来提升c/c++程序的性能。引言在编写c/c++服务器代码时,服务器的性能不仅决定于多线程/进程池模型的使用,还有很大程度上在于如何使用和管理内存。目前比较流行的c/c++代码来看,nginx,memcached,mysql等都有自己的内存管理模块,而redis使用的是第三方的内存管理模块je_malloc或tc_mall...原创 2019-04-05 22:46:47 · 7475 阅读 · 3 评论