C/C++
灵动代码~
这个作者很懒,什么都没留下…
展开
-
源代码大全
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握Android内核的接口使用: 1、Android团队提供的示例项目 如果不是从学习AndroidSDK中原创 2013-08-29 14:30:28 · 1207 阅读 · 0 评论 -
NTDLL.dll Access Violation
在封装一体机项目时遇到这类问题: Access Violation(非法访问)" TITLE="NTDLL.dll Access Violation(非法访问)" /> 此问题也没有使我的JVM崩溃,但使我的Java应用程序Crash了。 我是通过JNI封装的win32平台上的相关库。 这是网上给出的好点的解答: Access Violation(非法原创 2013-08-29 14:34:05 · 2126 阅读 · 0 评论 -
NTDLL.dll详解
ntdll.dll是NT操作系统重要的模块,常见错误为File Not Found, Missing File, ExceptionErrors。除非用户电脑被木马病毒、或是流氓软件篡改导致出现mfc71u.dll丢失、缺失损坏等弹窗现象,否则不建议用户对该类文件进行随意的修改。 NTDLL.DLL这个是系统的重要模块,是调用API函数时候用到的一个动态链接库文件,解决方法两种,去别原创 2013-08-29 14:34:07 · 7904 阅读 · 0 评论 -
gcc编译c语言程序
执行过程 虽然我们称Gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶ 1.预处理(也称预编译,Preprocessing):命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。 2.编译(Compilation):接着调原创 2013-08-29 14:32:32 · 3175 阅读 · 0 评论 -
C中的预处理命令
C中的预处理命令是由ANSIC统一规定的,但它不是C语言的本身组成部分,不能直接对它们进行编译,因为编译程序无法识别它们。必须对程序进行通常的编译(包括词法和语法分析,代码生成,优化等)之前,先对程序中这些特殊的命令进行“预处理”,例如:如果程序中用#include命令包含一个文件“stdio.h”,则在预处理时,将stdio.h文件中的实际内容代替该命令。经过预处理后的程序就像没有使用预处理的程原创 2013-08-29 14:32:26 · 591 阅读 · 0 评论 -
C语言中的头文件与原文件
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成原创 2013-08-29 14:31:52 · 1372 阅读 · 0 评论 -
用c语言产生随机数
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( i原创 2013-08-29 14:33:36 · 613 阅读 · 0 评论 -
gdb调试C语言--单步调试、断点调试
一个调试示例源程序:tst.c代码:1 #include23 int func(int n)4 {5 int sum=0,i;6 for(i=0; i7 {8 sum+=i;9 }10 return sum;11 }121314 main()15 {16 int i;17 long result = 0;18 for(i=1; i19 {20 res原创 2013-08-29 14:32:17 · 2892 阅读 · 0 评论 -
堆栈详解
什么是堆栈 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点: 堆:顺序随意 栈:后进先出(Last-In/First-Out)堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为原创 2013-08-29 14:32:11 · 584 阅读 · 0 评论 -
C语言中的sizeof详解
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeo原创 2013-08-29 14:32:08 · 583 阅读 · 0 评论 -
C语言OPEN函数详解
open是一个非标准的低级文件I/O函数,返回的是文件的低级句柄,原型:int open(char* path, int access, ...);open是一个可变参数的函数实现,后面的可变参数通常表示unsigned mode,mode参数是否存在要看access的值,path是文件的路径。access和mode的可取值通常在FCNTL.h里面定义,access的可取值如下:原创 2013-08-29 14:31:59 · 4414 阅读 · 0 评论 -
C/C++语言的完整编译过程
C/C++语言的完整编译过程是一、预编译处理#define #if#include这类#开头的语句,这些称为预编译指令。这个过程中会把.h文件和.c/.cpp文件组合成最终交给compile过程的原文件。这个原文件是不包含任何#开头的语句的。所有#define定义的宏也会被替换。二、编译把上面那个原文件编译成.o或者VC里是.obj文件。这个文件保存了机器码化的函数、函数的描述、原创 2013-08-29 14:32:13 · 715 阅读 · 0 评论 -
Ken Thompson与C语言、Unix
肯·汤普逊(Kenneth Lane Thompson,1943年2月4日-),一般称之为KenThompson,为美国计算机科学学者,与丹尼斯·里奇同为1983年图灵奖得主。 1943年汤普逊出生于美国新奥尔良。1960年就读加州大学伯克利分校主修电气工程,取得了电子工程硕士的学位。1966年加入了贝尔实验室。汤普逊参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的一套多用户分时操作原创 2013-08-29 14:32:24 · 1573 阅读 · 0 评论