我可以在Linux上使用Visual C编译C吗?
我正在Visual Studio上用C语言开发一个教育系统。我将通过web服务器支持此服务 问题是我的服务器运行的是Linux操作系统。我可以在Linux上使用Visual C编译C代码吗?它必须编译为Windows可执行文件(*.exe) 通过搜索,我得到了答案:“你可以用MinGW编译C”。然而,我使用了许多Windows API,我不相信这个答案。(_beginthreadex、FillConsoleOutputCharacter、CreateConsoleScreenBuffer等等) 如果我想在Linux系统上将C代码编译成Windows可执行文件,是否必须使用MinGW进行开发 我可以在Linux上使用visual C编译C吗 不,实际上你不能(当然你不应该)。顺便说一句,如果您坚持一些C标准,如(请参阅)或C99,或者您可能不太关心某个特定的编译器 但是我使用了很多windows API 正如您所猜测的,这些是特定于的,您无法在Linux上获得(或使用)它们(并且您可能需要Microsoft许可证才能使用WinAPI运行程序)。请注意,它能够在Linux和某些Windows上运行(但您可能无法通过某些web服务器使用它)我可以在Linux上使用Visual C编译C吗?,c,linux,compilation,mingw,C,Linux,Compilation,Mingw,我正在Visual Studio上用C语言开发一个教育系统。我将通过web服务器支持此服务 问题是我的服务器运行的是Linux操作系统。我可以在Linux上使用Visual C编译C代码吗?它必须编译为Windows可执行文件(*.exe) 通过搜索,我得到了答案:“你可以用MinGW编译C”。然而,我使用了许多Windows API,我不相信这个答案。(_beginthreadex、FillConsoleOutputCharacter、CreateConsoleScreenBuffer等等)
你应该使用POSIX线程(是一个好的教程)——或者考虑C++中的编码和使用它的库(因为C11库在Linux上太近了,而且可能也在Windows上!) 我的建议:
- 如果您的应用程序需要终端界面(而不是web界面!),请使用
- 如果您的应用程序需要GUI界面(而不是web界面!),请使用类似或的界面(这些界面是跨平台的,因此您的代码可以移植到其他操作系统) <> >跨平台移植性问题,考虑使用C++框架,如,./p>
- 在自己的笔记本电脑上安装和使用Linux很容易,而且Linux对开发人员非常友好。阅读一些Linux系统编程书(可能是旧的)。另见
g++-Wall-Wextra-g
编译)。当然,您需要为Linux和POSIXAPI(而不是Windows API)进行开发
(它将使您的代码适应Linux和POSIX API,这将占用您大部分的工作,而不是使用完全符合C99或C11或C++11或C++14标准的or,并接受许多常见选项。)
我还建议您在上的某些许可证下发布源代码。然后你可能会得到一些帮助
您可能对感兴趣,因为在某些情况下,您可能会在Windows上运行Linux可执行文件
(但我不知道细节,因为我从未使用过Windows)
PS:如果你想为Windows编译,把Windows放在笔记本电脑上更简单;因为不太方便
我必须和mingw一起发展吗
MinGW只是Windows操作系统的一个GCC端口,没有其他功能。也就是说,您可以直接在Windows上编译Windows特定的代码,或者在GNU/Linux上交叉编译相同的代码,然后在Windows上运行可执行文件。
GCC——意味着GNU编译器集合,它有C、C++、Objic C和一些其他编译器。GCC C编译器是GNU linux使用的主要C编译器
我可以在linux上使用visual c编译c吗
不可以,因为visual studio C编译器未移植到GNU/Linux。但是您可以使用GCC编译您的C代码
但是我使用了很多windows API,我不相信这个答案。(_beginthreadex、FillConsoleOutputCharacter、CreateConsoleScreenBuffer等)
如果需要在GNU/Linux操作系统上运行为Windows编写的程序,可以使用。例如,在Windows上编译exe文件,并在GNU/Linux上按原样运行
同时,这也不是个好主意。最好使用一些标准或跨平台API。然后使用您喜欢的任何编译器为您想要使用的操作系统编译它
例如
你真的想让你的生活复杂化吗?Linux有很多本机开发工具。使用它们。你的软件有多大(数千行源代码)?是吗?我不明白你说的“我将通过web服务器支持此服务”的确切含义。请编辑您的问题,以提高它很多。添加几段文字,解释你的教育系统的功能和规模,并用几句话解释为什么它是一个教育系统。对我来说,这意味着学校(和其他设施)的组织,我不理解与软件的关系。另外,用几句话解释谁会使用你的软件,以及如何使用(通过浏览器?)非常感谢!考虑通过编辑来改进你的问题…这有点混乱和不清楚。在你的问题下看我的评论!我很抱歉。。我英语不好。我制作制作程序并提供给用户的服务。这是windows执行文件。但服务器是linux。所以对不起,我也不是以英语为母语的人。但是请编辑你的问题,也许可以借助你的母语词典和其他语言的帮助。我不明白你说的“提供服务”是什么意思。这与什么有关?不要评论你的问题,但要改进它。如果你改进你的问题,你会得到更好的答案(我也可以)