minGW可以在win下调用linux库函数吗?默认情况下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了minGW可以在win下调用linux库函数吗?默认情况下相关的知识,希望对你有一定的参考价值。
minGW可以在win下调用linux库函数吗?默认情况下
有的可以调用,有的不能调用,但是为了保持最大的兼容性,一些常规操作都是可以的,如:算点东西,打印出来,就是一些标准c的基本函数
但是涉及到底层,比如驱动一台打印机打印东西,如果标准C中没有相关函数或者不兼容,就不能用了,相关的头文件可能在库文件的头文件中可以找到,但是都是简单定义,会将此类函数忽略,造成链接的时候,无法解析外部变量
所以人们通常都是这样做,涉及底层就用windows的 API函数,而在Linux就用标准的函数,大部分多是UNIX上相似的一些函数
说了这么多,举个例子吧:
你可以用printf();是因为此函数所要做的事,UNIX类(和Linux一样)和Windows都能很容易通过一种相似的方式实现,所以printf()可以在两个平台都能使用。
在UNIX中创建一个文件用一个函数createfile(xx,xx,xx),全部小写,3个参数,而在Windows上,要达到此函数相同功能,就只能用API,CreateFile(xx.xx.xx ....... ),注意大小写,共有7个参数,这两个函数是不同的平台下使用的。
Mingw内就有相关API函数的库文件,参考一下API,就什么事都能做了。 参考技术A 不能,mingw没有cygwin那种能提供一部分linux接口的兼容层
要用linux库函数,可以找找cygwin,不是太特别的那种linux库函数的话cygwin里面可能有。 参考技术B 要看一下是什么样的函数吧。
一般的函数比如包含头文件<pthread.h>线程库里的是可以调用的,但是像linux的内核函数比如包含头文件<linux/**>,minGW里面没有相应的支持,就不能调用了。
以上是关于minGW可以在win下调用linux库函数吗?默认情况下的主要内容,如果未能解决你的问题,请参考以下文章
mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗