库可以编译是不是说明可以使用
① c语言既可以编译执行又可以解释执行吗 编译执行怎么解释 解释执行又怎么解释
C 语言程序仅可以解释执行。
解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。
相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。
缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。
解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台(操作系统的兼容性)有要求的场合。
(1)库可以编译是不是说明可以使用扩展阅读
1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语句都是执行的时候才翻译。
2、Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。
② 在LInux下编译的动态库是不是可以在苹果上用啊
理论上不太行。。
也许两个操作系统有些渊源,那最多也是源代码可以通用,编译好的库就不太行了。
③ 用vc可以编译但不能运行
你的代码用到了外部的
lib
库文件,也需要添加进去。
现以添加socket需要的wsock32.lib
库文件为例,说明添加方法。
VS2005,在下面路径中,
项目-->
属性-->
链接器-->
输入
-->附加依赖项
加上
wsock32.lib。
你看一下你的代码中用到了哪一个库文件,按照上面的方法加上即可。
④ c语言中的函数可不可以单独进行编译
是可以的。
库函数是把函数放到库里,供别人使用的一种方式。函数库是由系统建立的具有一定功能的函数的集合。库中存放函数的名称和对应的目标代码,以及连接过程中所需的重定位信息。用户也可以根据自己的需要建立自己的用户函数库。
使用C语言的语句直接计算sin或cos函数,就需要编写颇为复杂的程序。因为C语言的语句中没有提供直接计算sin或cos函数的语句。又如为了显示一段文字,我们在C语言中也找不到显示语句,只能使用库函数printf。
(4)库可以编译是不是说明可以使用扩展阅读
函数库的分类
1、字符串、内存和字符函数
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、数学函数
需要的包含文件:math.h;
3、动态存储分配
需要的包含文件:alloc.h或stdlib.h ;
⑤ 使用c语言操作MYsql数据库时可以编译,也可以正常运行,就是显示表内容之后就有提示段错误,求指导~~
段错误一般是指针有问题,或者越界之类的
num_row = (int)mysql_num_rows(res);
num_col = (int)mysql_num_fields(res);
for(r=0;r<num_col;r++)
{
row = mysql_fetch_row(res);//检索一个结果集合的下一行
for(c=0;c<num_col;c++)
printf("%s ",row[c]);
printf("\n");
}
这段代码很可疑啊
⑥ linux g++编出来的库可不可以供c文件调用
默认是不可以的。因为 C++ 需要支持多态,重载的原因,定义的函数名字,在编译的时候会被编译器改写。如 int foo(int arg); 可能会被改写成 int __xxZyyfooqq 这个样子。
而 C 编译器不会干这种事情,所以会找不到函数名。
当然,C++ 既然是兼容 C 的,也就给出了解决方案。你在函数声明的时候写上:
#ifdef__cplusplusextern"C"{#endif
intfoo(intarg);
#ifdef__cplusplus
}
#endif
使用 extern "C",告诉 g++ 使用 C 语言的命名方式,就可以了。
⑦ linux下编译的静态库可不可以在unix下用
你已经用gcc编译出目标文件了,用ar工具打包成.a文件就行了啊,示例: 如上图,假设我有test1.c,test2.c两个源文件,先使用gcc -c *.c将源文件编译成目标文件,可以看到,生成了test1.o,test2.o两个目标文件,然后,使用ar命令:ar crv libtest.
⑧ 缺少动态库的情况下,能通过编译吗
>> 如果你是链接动态库,在GCC后跟了一个-l参数,其后就是你所需库的名称,
>> 那么你不仅需要那个你所需的库文件,还需要你所需库的头文件才行,编译时需要头文件支持,
>> 链接时需要库文件,不管你是动态还是静态编译都是如此!!!!
头文件不是必须的。只要没有出现未声明的函数/变量的调用就可以。
>> 还需说明的一点是:只有用参数-o时才会有那个-satic的选项,
>> 也就是说只有在链接程序时才会有动态链接和静态链接之分!!!!!!
没有 -o 也可以 -static。-o 不代表链接
>> 动态链接库是为了减少可执行文件的大小,就是在一个系统中只提供一个库,
>> 可供多个动态链接的程序共同使用
同时也避免库代码被重复加载进入内存,减少系统内存占用
⑨ 为什么易语言编译文件成功了但是文件里的功能都不能用
可能是编译问题
易语言的编译有以下特点
普通编译:只能在有易语言的电脑上 且必须要完整的易语言支持库才能使用
易语言4.13独立翻译:翻译完了就可以直接用 自带支持库的运行库
易语言5.10-5.11静态翻译:翻译后还需要使用C++再次翻译成.exe的程序
⑩ boost库需要编译吗是否是可以直接使用的那种
必须编译。编译时间可能是15~30分钟,等待即可,否则无法使用。