将Linux C代码移植到Windows

时间:2014-02-04 16:53:24

标签: c linux windows sockets include

我非常封锁,因为我想将一个C代码(在Linux中运行)移植到Windows,我不知道如何做到这一点,代码有以下库:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>


#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>


#include "openssl/conf.h"
#include "openssl/evp.h"
#include "openssl/err.h"


#include <my_global.h>
#include <mysql.h>

#include <m_string.h>

如何将此代码移植到Windows(在32和64中运行)?,谢谢

2 个答案:

答案 0 :(得分:3)

没有“神奇的魔杖”或“简单的方法”来做到这一点。

如果您的代码不符合100%POSIX(并且据我所知,Windows不支持这么好),您的代码将无法在没有仿真或重写的情况下在Windows上运行。

您可以尝试:

从上面可以看出,某些标题可能会被等效标题替换(希望如此),例如:尝试io.h获取一些POSIX功能..那么你必须将Linux套接字移植到Windows端口(这是一个相对容易的任务)。 Openssl是多平台的,所以没问题。

我不知道my_globalm_string是什么,抱歉。

答案 1 :(得分:0)

您需要使用大量的预编译语句来排除代码的某些部分,并包含其他代码以使代码完全可移植而无需修改。