摘要:
(摘自http://fky168.blog.163.com/blog/static/3786097200831033957620/)一、Source Insight实用技巧:Source Insight(下文的SI指的也是它)就是这样的一个东西: Windows下开发人员的至爱,功能强大,界面友好。支持语法高亮、符号跳转,还支持函数调用关系图显示。这是一个专业的编程环境,很多大公司都是使用它的。... 阅读全文
摘要:
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种... 阅读全文
摘要:
#include <stdio.h>#include <string.h>#include <stdlib.h>/**** @author: cnscn@163.com* @reference: lovesnow1314@http://community.csdn.net/Expert/TopicView3.asp?id=5198221 ** 用新子串newst... 阅读全文
摘要:
1. Linux nm 命令nm [‘-a’|‘--debug-syms’] [‘-g’|‘--extern-only’] [‘-B’] [‘-C’|‘--demangle’[=style]] [‘-D’|&... 阅读全文
摘要:
1. gcc/g++在执行编译工作的时候,总共需要4步(1).预处理,生成.i的文件[预处理器cpp](2).将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs](3).有汇编变为目标代码(机器代码)生成.o的文件[汇编器as](4).连接目标代码,生成可执行程序[链接器ld][参数详解] -x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个... 阅读全文
摘要:
调不尽的内存泄露,用不完的Valgrind(一个介绍程序调试的精彩讲解:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/)Valgrind 介绍 Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言... 阅读全文
摘要:
虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核!1,非常有用的清理命令:sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove这三个命令主要清理升级缓存以及无用包的。2,清理opera firefox的缓存文件:ls ~/.opera/cache4ls... 阅读全文
摘要:
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在执行线程第一次到达它... 阅读全文
摘要:
作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。(1) 全局变量:全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作用域的影响(也就是说,全局变量的生命期一直到程序的结束)。如果在... 阅读全文
摘要:
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,... 阅读全文