扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C语言的库函数在LIB目录里面。
创新互联公司-成都网站建设公司,专注成都做网站、网站建设、外贸营销网站建设、网站营销推广,空间域名,网页空间,网站运营有关企业网站制作方案、改版、费用等问题,请联系创新互联公司。
库函数是将函数封装入库,供用户使用的一种方式。方法是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。调用的时候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
扩展资料:
C语言的语句十分简单,如果要使用C语言的语句直接计算sin或cos函数,就需要编写颇为复杂的程序。因为C语言的语句中没有提供直接计算sin或cos函数的语句。又如为了显示一段文字,我们在C语言中也找不到显示语句,只能使用库函数printf。
C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。事实上,在编写C语言程序时,应当尽可能多地使用库函数,这样既可以提高程序的运行效率,又可以提高编程的质量。
1、不同的系统开发函数库的具体步骤是不一样的,这主要决定于编译、链接环境。
2、不同的库开发方式也不一样,现在主流的库开发有两种,一种是静态库,一种是动态库,两者的本质区别是库代码是否和程序融合在一起,如果组装在一起就是静态库,如果不组装在一起,即为动态库,现在操作系统提供的多数是动态库,如Linux平台的.so文件,windows平台的DLL文件。
3、以Windows平台为例,用户可以通过Vc/vs等IDE集成开发环境,生成DLL工程,然后编写def文件进行导出。
文件stddef.h里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,stddef.h都会被自动包含进来。
这个文件里定义:
类型size_t (sizeof运算符的结果类型,是某个无符号整型);
类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
类型wchar_t (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的字符集的所有编码值。这里还保证空字符的编码值为0);
符号常量NULL (空指针值);
宏offsetor (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构成员名。 offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。
简单的一个例子,但是基本的程序编译的思想都在里面了,具体的需要你自己体会和查资料
跟着下面的步骤走
------------------------
第一步:我的电脑-属性-高级-环境变量
添加3个变量
1.名字:path 值:vc的安装目录里面包含cl.exe的bin目录路径+";"+vc目录下包含mspdb80.dll的目录的路径
比如我的是D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE;
2.名字:include 值:vc安装目录下的include目录,主要是为了找到头文件,我的是D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include;
3.名字:lib 值:vc目录下包含库文件的目录路径
我的是D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib;
第二步:需要下面两个文件
//-------------libdemo.c
#include stdio.h
void lib_func()
{
printf("this routine in lib\n");
}
//------------main.c
void lib_func();
int main(int argc, char *argv[])
{
lib_func();
}
第三步:命令
cl /c libdemo.c '编译libdemo.c 生成libdemo.obj
lib libdemo.obj '生成libdemo.lib 库文件
cl /c main.c '编译main.c
link main.obj libdemo.lib '生成main.exe
---------------------------------------------------
呵呵 加点东西,参看4楼的建议,在做个dll,COM组件就不做了,有点复杂了
1。把libdemo.c 稍微改下
//-------------libdemo.c
#include stdio.h
__declspec (dllexport) void lib_func()
{
printf("this routine in lib\n");
}
2。命令
cl /c libdemo.c main.c
link libdemo.obj /dll '生成libdemo.lib
link main.obj libdemo.lib
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流