闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一是可读性较差,所有程序都在一个文件中造成检查和分析时候很不方便,特别是对于较大的工程来说,是无法想象的.第二点就是保密性,在工作中,我们要将程序交给客户,但是我们并不想让客户知道我们的源代码,所以要用这种方式将功能函数以.o的文件(二进制码)交给客户,确保自己的劳动成果不被别人剽窃,可以做到保护知识…
1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最大值,并打印显示在界面上,控制台效果如图-1所示: 图-1 1.2 方案 首先,此方案中,需要创建一个长度为10的整型数组. 然后,使用for循环来产生10个0~99之间的随机整数,并放入数组. 最后,查询数组中的最大值,并打印显示结果. 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:定义…
(1)前段时间,学长讲解宏的一些知识  也提起了那个多文件编译,同过看别人的博客,自己也懂了一些,现在来总结一下这个多文件编译,其实和java里面的那个class的调用好像有联系 其定义即可以理解成:就是属于不同的C语言名字下,例如helo.c  还有  hell.c  这两个文件,然后互相调用彼此的函数,这就是自己理解的多文件编译: 下面是你编写完函数后,怎么调用函数得常规做法,在C-free下面编译的 #include<stdio.h> #include<stdlib.h> v…
#include预处理命令几乎使我们在第一次接触C的时候就会碰到的预处理命令,可我现在还不怎么清楚,这次争取一次搞懂. 一.#include预处理指令的基本使用 预处理指令可以将别处的源代码内容插入到现在的位置,可以标识出某一段程序代码只有在特定条件下才会被编译. #include预处理指令告诉预处理器,将指定头文件的内容插入到预处理器指令的相应位置. 指定插入头文件有两种方式: #include <filename> #include "filename" 当要包含标准链…
Ubuntu下使用gcc编译c文件,虽然我调用了math.h的头文件,但是未识别cos,sin 报错:( fft.c ) /tmp/ccwXjD8C.o: In function `fft': fft.c:(.text+0x17a): undefined reference to `cos' fft.c:(.text+0x188): undefined reference to `sin' 原因: 一般出现这个问题说明,在编译时已经正确找到头文件math.h,但在链接时因为没有合适的编译选项来包…
通过mac终端 输入指令: cc -c 文件名.c 可以把C文件编译成.o文件(其实是2进制文件) 然后通过指令 cc 文件名.o 把.o文件链接C文件所需要的C语言的底层库,成为可以直接运行的linux程序. 简单的写法是: cc 文件名.c 其实和上面的原理是一样的,但他自动会把.o文件删除,然后生成.out文件 如嫌生成的.out文件名字不能自定义,可以通过以下指令做到: cc 文件名.c -o XXX.xx 通过这个命令,可以直接编译生成你想要的文件,并可以更改文件名后缀…
要求:写一个最短的,能通过编译的C语言程序,但不要求能正确运行. 一般人首先想到的是除0.即 int main() { /; } 除0会引发SIGFPE信号(浮点异常). 我们也可以删掉return,但是这样做的话编译器会把这句没有值的语句优化掉.那么我们就改成赋值语句: i; int main() { i = /; } 在C89标准里,声明一个整形变量可以省略int.因此我们还可以把main函数的int类型声明也省略掉,变成 i; main() { i = /; } 不计任何空格,这段程序只有…
  Src Url:http://blog.csdn.net/cws1214/article/details/12996351   A.预编译部分  1.预编译DB2篇 1.1 什么是DB2预编译 在我们用C语言编写访问DB2的程序过程中,需要用到嵌入式SQL,其作用是将DB2 SQL混入一般C程序中, DB2预编译器可以将SQL语法直接转换为DB2行时服务应用程序编程接口(API)调用. 1.2 什么是bind 这是DB2 prep要做的事情,即把SQC中的SQL语句变为DB2数据库可认的AP…
ubuntu下使用反编译apk, 工具 1:通过apk-tool反编译出资源文件: http://code.google.com/p/android-apktool/ 2.首先使用dex2jar反编译 下载地址(建议下载最新版本,防止出现bug):http://code.google.com/p/dex2jar/downloads/list 跟windows下一个版本,既能用在windows下,又能在linux下运行,只是指令上的差距 到dex2jar目录下,xiao@xiao-System-P…
添加Ubuntu的库文件路径 http://blog.csdn.net/r91987/article/details/6879062 关于ubuntu添加共享库路径: 1. 将绝对路径写入 /etc/ld.so.conf 2. ldconfig OK! ***************************************************************************************************************************…