C
文章平均质量分 74
敬畏技术
但非技术至上
展开
-
Linux内存地址空间学习
Linux内存地址空间学习分类: 操作系统相关 2014-09-11 15:38 250人阅读 评论(0)收藏 举报 Linux虚拟内存的大小为2^32(在32位的x86机器上),内核将这4G字节的空间分为两部分。最高的1G字节(从虚地址0xC0000000到0xFFFFFFFF)供内核使用,称为“内核空间”。而较低的3G字节(从虚地址0x00000转载 2014-11-06 13:24:57 · 425 阅读 · 0 评论 -
用GDB调试程序(一)
用GDB调试程序(一)分类: 编程工具 2003-07-02 23:13 237633人阅读 评论(58)收藏 举报程序调试工具file工具图形unixpath用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下转载 2014-12-01 09:49:54 · 357 阅读 · 0 评论 -
fcntl函数详解
fcntl函数详解功能描述:根据文件描述词来操作文件的特性。用法:int fcntl(int fd, int cmd);int fcntl(int fd, int cmd, long arg);int fcntl(int fd, int cmd, struct flock *lock);参数:fd:文件描述词。cmd:操作命令。arg:供命令使用转载 2015-03-25 11:03:52 · 380 阅读 · 0 评论 -
程序员的编程、调试、排错小建议
程序员的编程、调试、排错小建议分类: 错误解决办法库 2014-08-08 10:11 153人阅读 评论(0)收藏 举报在空白的文本编辑器里打开一个崭新的文本,没有一行代码,出现在眼前的是一个充满了无限可能和希望的项目。可是,当数千行的代码写完之后,整个项目因为bug的出现而被压垮了,更别说添加什么新功能了...这也许是对程序员的最大打击,在饱满的热情转载 2014-11-06 13:27:54 · 632 阅读 · 0 评论 -
我的研究之文件
文件对于C语言编程来说是非常重要的,因为计算机无非就那几样东西 内存 硬盘,文件对应的就是硬盘,硬盘有多重要,文件就有多重要了。这里的文件是指标准I/O和linux下的文件,这里先说标准I/O,如果不清楚标准C 标准I/O等等的,请先移步我转载的另一篇博客“GUN C 标准C .....的区别与联系”。原创 2014-12-16 13:12:02 · 765 阅读 · 0 评论 -
关于回车和换行
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一行。通常用的Enter是两个加起来。回车和换行今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候转载 2015-02-10 09:03:53 · 783 阅读 · 0 评论 -
我的研究之预处理
预处理原创 2014-12-04 20:57:08 · 348 阅读 · 0 评论 -
MakeFIle $@,$^,$<
Makefile $@, $^, $$@ 表示目标文件$^ 表示所有的依赖文件$$? 表示比目标还要新的依赖文件列表如一个目录下有如下文件:$ lshello.c hi.c main.c Makefile按照 Makefile 规则规规矩矩的写:main: main.o hello.o hi.o转载 2015-05-25 14:44:46 · 292 阅读 · 0 评论 -
带参数的gcc
4。-l参数和-L参数-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,那么我们只要把libtest.so拷贝转载 2014-12-08 20:52:08 · 355 阅读 · 0 评论 -
关于C语言中二级指针的理解
二级指针早在学校的时候就学习过并且略加研究过,但总觉得就是自己理解的那么一回事吧,而且感觉也确实不是一定要用它。但是今天在研究平衡二叉树的时候发现别人写的代码里面用到了二级指针,自己感觉不是很理解,认为这用一级指针也可以解决啊,事实是不是这样呢?未必,先看一道面试题:题目是这样的:代码如下:#include "stdafx.h"#include using namespac原创 2015-08-04 10:07:31 · 838 阅读 · 0 评论 -
lua与C的互相调用
1.lua调用cLua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。 简单说明一下,该函数类型仅仅包含原创 2015-08-31 21:09:19 · 2587 阅读 · 0 评论 -
用GDB调试程序(二)
用GDB调试程序(二)分类: 编程工具 2003-07-03 00:20 53063人阅读 评论(12)收藏 举报commandshellfunctionunixc++stringGDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /转载 2014-12-01 09:51:28 · 427 阅读 · 0 评论 -
编译器编译原理详细解析
编译器编译原理详细解析分类: c++专区 VS编译器有关 2014-08-01 14:16 219人阅读 评论(0)收藏 举报第一篇摘自:http://www.21ic.com/app/embed/201103/79359.htm1. 词法分析词法分析器根据词法规则识别出源程序中的各个记号(token),每个记号代表一类单词(lexeme)。源程序中转载 2014-11-06 13:30:06 · 4171 阅读 · 0 评论 -
C语言的代码内存布局详解
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Starte转载 2014-11-22 15:29:26 · 384 阅读 · 0 评论 -
12个有趣的c面试题目
12个有趣的c面试题目分类: c++专区 2014-07-10 10:38 226人阅读 评论(0)收藏 举报1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff));转载 2014-11-06 13:32:29 · 391 阅读 · 0 评论 -
aiyao Linux下用c语言实现发送http请求 方式可以Get或者Post
[1].[代码] Linux下用c语言实现发送http请求 方式可以Get或者Post跳至[1]?1234567891011121314151617181920212223242526272829303132333435转载 2014-11-06 17:57:01 · 840 阅读 · 0 评论 -
《C陷阱与缺陷》学习笔记(一)
《C陷阱与缺陷》学习笔记(一)分类: c++专区 2014-06-06 16:12 308人阅读 评论(0)收藏 举报前言和导读 “得心应手的工具在初学时的困难程度往往超过那些容易上手的工具。”比较认同这句话。我至今觉得自己其实还是个刚入了门的初学者。 第一章 “词法”陷阱 由于之前学过编译原理,对编译器词法分转载 2014-11-06 13:33:04 · 426 阅读 · 0 评论 -
《C陷阱与缺陷》学习笔记(二)
《C陷阱与缺陷》学习笔记(二)分类: c++专区 MFC客户端 2014-06-06 16:21 83人阅读 评论(0)收藏 举报第四章 连接 连接器并不理解C语言,然而它能理解机器语言和内存布局。作者强调连接器并不能处理连接时和C语言相关的一些错误,如果C语言提供了lint,要善加利用。 每个外部对象都必须在程序某个地方进行定义。转载 2014-11-06 13:34:44 · 378 阅读 · 0 评论 -
C语言中的内联函数(inline)与宏定义(#define)详细解析
C语言中的内联函数(inline)与宏定义(#define)详细解析作者: 字体:[增加 减小] 类型:转载 内联函数与宏本质上是两个不同的概念如果程序编写者对于既要求快速,又要求可读的情况下,则应该将函数冠以inline先简明扼要,说下关键:1、内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回指令,这样在运行时速度更快转载 2014-12-01 16:37:45 · 1065 阅读 · 0 评论 -
EOF
我学习C语言的时候,遇到的一个问题就是EOF。它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。 int c; while ((c = fgetc(fp)) != EOF) { putcha转载 2014-12-18 17:56:38 · 424 阅读 · 0 评论 -
我的研究之C语言标准函数库
1.断言ANSC C 实现了一个assert 宏,称为断言,就是声明某种东西为真。在调试程序时很有用。原型如下: void assert( int expression );当它被执行时,这个宏对表达式参数进行测试。如果它的值为假(0),他就向标准错误打印一条诊断信息并终止程序。这条信息的格式是由编译器定义的,但他将包含这个表示式和源文件的名字以及断言所在的行号。如果表达原创 2014-12-09 10:00:51 · 402 阅读 · 0 评论 -
C语言中的static 详细分析
C语言中的static 详细分析分类: C 2011-08-22 12:04 10651人阅读 评论(11)收藏 举报语言cfileserver编译器reference google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这转载 2015-01-19 16:39:13 · 369 阅读 · 0 评论 -
MD5与SHA1
什么是MD5,什么是SHA-1,如何校验这些Hash。还有拿单个ISO文件的MD5,SHA-1讯问是不是原版的问题,在这里,对以上问题做一个终结解释! 让我们先来了解一些基本知识,了解hash。 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,转载 2015-05-27 17:31:29 · 686 阅读 · 0 评论 -
我的总结之编码 大小端 file命令 vim中的ga命令 tabe命令 16进制显示 lru url编码
下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字原创 2014-12-04 19:15:20 · 1906 阅读 · 0 评论 -
EOF是什么?
EOF是什么?作者: 阮一峰我学习C语言的时候,遇到的一个问题就是EOF。它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。 int c; while ((c = fgetc(转载 2014-11-29 09:47:55 · 413 阅读 · 0 评论