如何在DEV-CPP中使用winsocket API

来源:互联网 发布:手机知乎网页打不开 编辑:程序博客网 时间:2024/05/02 01:44

     在DEV中无法直接使用ws2_32.lib,那么我们想在DEV-CPP中编写windows控制台程序,并使用一些windows API,应该怎么办呢?

      不用担心,DEV-CPP已经提供解决方案。大家可能都知道在vc中调用某个库(扩展名为lib,比如ws2_32.lib),只需要要在连接程序的时候选择导入的静态库。参数为静态库的全名。在DEV-CPP安装目录的lib下也有各种库文件,不过它的扩展名是o和a,并且windows下的各种库也制作了相应的库,如libwsock32.a对应了vc下的ws2_32.lib。使用方法如下

首先我们启动Dev,新建一个工程。然后选择工程->工程属性。(如果你使用New Look图标,那么工程属性就是一个盾型图标。)然后,选择参数选项卡。在连接器的文本框中输入你要的参数,如-l wsock32。至于分割符,可以使用空格,也可以使用回车。不过我个人推荐回车。如果顺利,你的界面看起来会像下图。

当然你如果要使用*.lib可以,只要将文件名直接填入就可以了。就像 ws2_32.lib。当然如果用绝对路径也可以。
下面我们来看看静态连接库的格式。当然,我们不是从文件格式去分析,而是从调用格式看。通常静态库的文件名为 lib*.a其中*表示的就是任何字符。而在我们调用的时候,不需要将所有的文件名都用上,只需要使用*的内容就可以了。就像调用libwsock32.a的静态库我们只需要在连接的时候加参数 –l wsock32就可以了。前面的lib和后面的.a都不需要了。如果,还不太明白。可以看看dev安装目录中的lib目录。里面有很多win32下的静态连接库。



============================================

使用“ -l winmm ” 再调用函数 mciSendString("set cdaudio door open",0,0,0); 可以把CD打开

#include <mmsystem.h>

JNIEXPORT void JNICALL Java_com_test_TestJni_openCD
(JNIEnv *env, jclass class){
    mciSendString("set cdaudio door open",0,0,0);
}

原创粉丝点击