由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 求教在Windows下编译命令行C++程序
相关主题
别见笑:一个初级问题:如何把开源open-source的源程序导入Visual studioGcc出来的exe,被防病毒软件block了......
一般visual studio C++ 下编译通过的程序放到linux下编译需要做什么改动?[合集] 6个变态的C语言写的Hello World (ZZ)
visual studio 编译器怎么关掉warning?请问GCC有没有检查宏是怎么展开的工具啊?
用linux真费劲,经常出现莫名其妙的问题为什么在我的电脑上编译好的程序,无法在其他电脑上运行?
问个简单的Fortran问题一个WinXP下的qt3小问题
大型程序如何加快编译速度How to run existing C files using Visual C++
死了,哪里有mingw的入门介绍?在 windows下的C++开发平台是不是 Dev-C++?
Eclipse JNI问题, 拜谢请问一个visual studio的菜鸟问题
相关话题的讨论汇总
话题: windows话题: cmake话题: vs话题: mingw话题: c++
进入Programming版参与讨论
1 (共1页)
m*****n
发帖数: 3575
1
能否用CMake替代Visual Studio的劳什子?
学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
既然底层都是make
能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
Visual Studio实在是配置过于复杂,而且错误无法排查。
p**z
发帖数: 65
2
先说明,C++ 不是我日常用语言。
但是应该是可以的,用命令行或者 CMake 简单的 GUI build 的话免费的 toolchain
应该就可以。
https://cmake.org/runningcmake/
如果喜欢 IDE,Jetbrain 的 CLion 似乎是基于 CMake 的 workflow。缺点是试用期过
后不免费,但是老师和学生可以要免费的 license:
https://www.jetbrains.com/clion/
h*i
发帖数: 3446
3
我最近刚把我的数据库系统datalevin搞得可以在Windows下用。据我有限的知识,
Visual Studio在Windows下应该是不可替代的。除非你完全用gcc那一套,比如mingw来
编译。但这两者是不能混用的,要么用VC编译,要么用mingw编译。
cmake不过是调用VC的东西而已,底层并不是make。所以用cmake你还是得用VC,当然了
,一个CMakeLists.txt应该就够了。

【在 m*****n 的大作中提到】
: 能否用CMake替代Visual Studio的劳什子?
: 学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
: 既然底层都是make
: 能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
: Visual Studio实在是配置过于复杂,而且错误无法排查。

q***i
发帖数: 627
4
应当有完全替代IDE的命令,CMake+命令
不过我已经不记得乐

【在 h*i 的大作中提到】
: 我最近刚把我的数据库系统datalevin搞得可以在Windows下用。据我有限的知识,
: Visual Studio在Windows下应该是不可替代的。除非你完全用gcc那一套,比如mingw来
: 编译。但这两者是不能混用的,要么用VC编译,要么用mingw编译。
: cmake不过是调用VC的东西而已,底层并不是make。所以用cmake你还是得用VC,当然了
: ,一个CMakeLists.txt应该就够了。

d****y
发帖数: 312
5
用msbuild直接命令行编译solution file不就行了
r*****n
发帖数: 1285
6
Cmake也得有compiler才能行。

【在 m*****n 的大作中提到】
: 能否用CMake替代Visual Studio的劳什子?
: 学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
: 既然底层都是make
: 能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
: Visual Studio实在是配置过于复杂,而且错误无法排查。

w***g
发帖数: 5958
7
以前有windows sdk, 可以配合cmake直接用,绕过vs.
VS也可以配合cmake用。
c*******v
发帖数: 2599
8
People are still using the bcc32.exe (Borland compiler).
Official Document:
https://edn.embarcadero.com/article/20997
User example:
https://gitlab.odin.cse.buffalo.edu/bglavic/MayBMS_Mirror/blob/
ff5d7728e633c7416562a871805c4c000f294fd8/postgresql-8.3.3/src/bcc32.mak

【在 w***g 的大作中提到】
: 以前有windows sdk, 可以配合cmake直接用,绕过vs.
: VS也可以配合cmake用。

d*******r
发帖数: 3299
9
所以写C++确实费神, build就搞死一堆人...
m*****n
发帖数: 3575
10
是这么回事,底层差异的确有
现在开源又多了套CygWin
CMake只是个壳子,生成GCC的Makefile的
然后用GCC的make去编译。
而make就像你说的,要么用mingw要么用cygwin

【在 h*i 的大作中提到】
: 我最近刚把我的数据库系统datalevin搞得可以在Windows下用。据我有限的知识,
: Visual Studio在Windows下应该是不可替代的。除非你完全用gcc那一套,比如mingw来
: 编译。但这两者是不能混用的,要么用VC编译,要么用mingw编译。
: cmake不过是调用VC的东西而已,底层并不是make。所以用cmake你还是得用VC,当然了
: ,一个CMakeLists.txt应该就够了。

相关主题
死了,哪里有mingw的入门介绍?[合集] 6个变态的C语言写的Hello World (ZZ)
Eclipse JNI问题, 拜谢请问GCC有没有检查宏是怎么展开的工具啊?
Gcc出来的exe,被防病毒软件block了......为什么在我的电脑上编译好的程序,无法在其他电脑上运行?
进入Programming版参与讨论
m*****n
发帖数: 3575
11
你说的solution file是sln吗?
那不本质上和VS还是一回事?

【在 d****y 的大作中提到】
: 用msbuild直接命令行编译solution file不就行了
m*****n
发帖数: 3575
12
谢谢,我看它好像也调用了sdk

【在 w***g 的大作中提到】
: 以前有windows sdk, 可以配合cmake直接用,绕过vs.
: VS也可以配合cmake用。

g****t
发帖数: 31659
13
Windows生产用最好的办法可能还是就老老实实visual studio。不然夜长梦多。
未来维护也麻烦。任何work around都可能下一秒被一个msft patch弄坏。


: 所以写C 确实费神, build就搞死一堆人...



【在 d*******r 的大作中提到】
: 所以写C++确实费神, build就搞死一堆人...
m*****n
发帖数: 3575
14
我去试试,谢谢。

【在 c*******v 的大作中提到】
: People are still using the bcc32.exe (Borland compiler).
: Official Document:
: https://edn.embarcadero.com/article/20997
: User example:
: https://gitlab.odin.cse.buffalo.edu/bglavic/MayBMS_Mirror/blob/
: ff5d7728e633c7416562a871805c4c000f294fd8/postgresql-8.3.3/src/bcc32.mak

g****t
发帖数: 31659
15
社区太小了。不适合生产。老老实实vs studio算了。
自己用另外一回事。


: 我去试试,谢谢。



【在 m*****n 的大作中提到】
: 我去试试,谢谢。
m*****n
发帖数: 3575
16
我用的就是老版的VS
学生告诉我必须用老版,新的就不兼容。
感觉一旦微软停止支持老版VS
这个环节就要崩

【在 g****t 的大作中提到】
: Windows生产用最好的办法可能还是就老老实实visual studio。不然夜长梦多。
: 未来维护也麻烦。任何work around都可能下一秒被一个msft patch弄坏。
:
:
: 所以写C 确实费神, build就搞死一堆人...
:

i********s
发帖数: 6
17
当然可以,一般我是用CMake + Ninja + MS SDK + VisualStudio Communicty Version
,因为这几个都是免费使用的。如果你已经安装了VS专业版或者企业版,就当然更好。
使用CMake需要注意版本兼容的问题,因为很多开源软件使用了比较旧版的CMake,如果
你比较熟悉CMake的policy,很容易修改然后调用开源库的CMake脚本。

【在 m*****n 的大作中提到】
: 能否用CMake替代Visual Studio的劳什子?
: 学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
: 既然底层都是make
: 能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
: Visual Studio实在是配置过于复杂,而且错误无法排查。

a**a
发帖数: 161
18
装个wsl2,windows就全兼容linux了,鱼和熊掌通吃

【在 m*****n 的大作中提到】
: 能否用CMake替代Visual Studio的劳什子?
: 学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
: 既然底层都是make
: 能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
: Visual Studio实在是配置过于复杂,而且错误无法排查。

m*****n
发帖数: 3575
19
有没有这方面的教程,或者博客?

Version

【在 i********s 的大作中提到】
: 当然可以,一般我是用CMake + Ninja + MS SDK + VisualStudio Communicty Version
: ,因为这几个都是免费使用的。如果你已经安装了VS专业版或者企业版,就当然更好。
: 使用CMake需要注意版本兼容的问题,因为很多开源软件使用了比较旧版的CMake,如果
: 你比较熟悉CMake的policy,很容易修改然后调用开源库的CMake脚本。

g****t
发帖数: 31659
20
除了vs studio一切workaround都可能要付出代价的。
windows cpp不用vs studio,到时候你发现程序因为什么鸟毛windows注册表设置,
或者没有跟从windows特殊写法,程序极慢怎么办?一点点hack各种东西是很痛苦的。而且
deploy也麻烦。windows自己也有版本问题。
此类问题网上很多。远不是profile就能解决干净的。
https://stackoverflow.com/questions/33255393/why-is-this-c-program-slower-on
-windows-than-linux
如果考虑性能和IO,cpp本质上在linux和windows其实不是跨平台可用的。
据我个人经验,golang,java好的多。

【在 m*****n 的大作中提到】
: 有没有这方面的教程,或者博客?
:
: Version

相关主题
一个WinXP下的qt3小问题请问一个visual studio的菜鸟问题
How to run existing C files using Visual C++什么语言简练如python运行速度如C++
在 windows下的C++开发平台是不是 Dev-C++?develop linux apps on Windows
进入Programming版参与讨论
m*****n
发帖数: 3575
21
关键是底层的金融模块,人家提供的就是C++的
所以已经尽量简化了,把需要和底层通讯的模块单做一个命令行程序
就这也绕不开Visual C++ 和VS吗?

而且
on

【在 g****t 的大作中提到】
: 除了vs studio一切workaround都可能要付出代价的。
: windows cpp不用vs studio,到时候你发现程序因为什么鸟毛windows注册表设置,
: 或者没有跟从windows特殊写法,程序极慢怎么办?一点点hack各种东西是很痛苦的。而且
: deploy也麻烦。windows自己也有版本问题。
: 此类问题网上很多。远不是profile就能解决干净的。
: https://stackoverflow.com/questions/33255393/why-is-this-c-program-slower-on
: -windows-than-linux
: 如果考虑性能和IO,cpp本质上在linux和windows其实不是跨平台可用的。
: 据我个人经验,golang,java好的多。

g****t
发帖数: 31659
22
这看你是什么通信了。要我我就用vs studio。
Windows tcp ip 一堆参数都跟Linux不一样。


: 关键是底层的金融模块,人家提供的就是C 的

: 所以已经尽量简化了,把需要和底层通讯的模块单做一个命令行程序

: 就这也绕不开Visual C 和VS吗?

: 而且

: on



【在 m*****n 的大作中提到】
: 关键是底层的金融模块,人家提供的就是C++的
: 所以已经尽量简化了,把需要和底层通讯的模块单做一个命令行程序
: 就这也绕不开Visual C++ 和VS吗?
:
: 而且
: on

n******t
发帖数: 4406
23
golang和java也是個平臺之間加一層shim,golang的write到了不通的平臺上也就是簡
單轉一下而已。這事情上沒有silver bullet。你要真性能和io你仍然需要分開搞。
windoww下面用mingw性能上沒有問題。VS的優勢主要是要聯機幫助,和開發C#。

而且
on

【在 g****t 的大作中提到】
: 除了vs studio一切workaround都可能要付出代价的。
: windows cpp不用vs studio,到时候你发现程序因为什么鸟毛windows注册表设置,
: 或者没有跟从windows特殊写法,程序极慢怎么办?一点点hack各种东西是很痛苦的。而且
: deploy也麻烦。windows自己也有版本问题。
: 此类问题网上很多。远不是profile就能解决干净的。
: https://stackoverflow.com/questions/33255393/why-is-this-c-program-slower-on
: -windows-than-linux
: 如果考虑性能和IO,cpp本质上在linux和windows其实不是跨平台可用的。
: 据我个人经验,golang,java好的多。

c*******v
发帖数: 2599
24
mingw也好,其他的办法也好。都可能有性能问题。见我前面列的一个讨论。
此类讨论连续多年都有。之前我也碰到过。只用c89也会碰到且能在windows 10测试出
来。同样的c89程序,mingw可能比linux上慢很多。
总体而言,除非要往windows market卖。严重不推荐在windows用gcc,clang。
MSFT不愧是黑店。

【在 n******t 的大作中提到】
: golang和java也是個平臺之間加一層shim,golang的write到了不通的平臺上也就是簡
: 單轉一下而已。這事情上沒有silver bullet。你要真性能和io你仍然需要分開搞。
: windoww下面用mingw性能上沒有問題。VS的優勢主要是要聯機幫助,和開發C#。
:
: 而且
: on

l*********s
发帖数: 5409
25
msvc优化更好

【在 n******t 的大作中提到】
: golang和java也是個平臺之間加一層shim,golang的write到了不通的平臺上也就是簡
: 單轉一下而已。這事情上沒有silver bullet。你要真性能和io你仍然需要分開搞。
: windoww下面用mingw性能上沒有問題。VS的優勢主要是要聯機幫助,和開發C#。
:
: 而且
: on

n******t
发帖数: 4406
26
你爲什麼會覺得同樣一段代碼在OS 1下面用編譯器X比在OS 2下面用編譯器X出來的程序
慢很多,是因爲OS A下你沒有用編譯器Y的?
而且更讓我驚奇的是,你爲啥覺得windows下面程序用那個編譯器的主要因素是性能?

【在 c*******v 的大作中提到】
: mingw也好,其他的办法也好。都可能有性能问题。见我前面列的一个讨论。
: 此类讨论连续多年都有。之前我也碰到过。只用c89也会碰到且能在windows 10测试出
: 来。同样的c89程序,mingw可能比linux上慢很多。
: 总体而言,除非要往windows market卖。严重不推荐在windows用gcc,clang。
: MSFT不愧是黑店。

n******t
发帖数: 4406
27
問題是windows下面crt的性能根本就不重要啊,最care性能的都直接調win32 api。
不過這都不是最重要的,windows下面的基本上是desktop,很少有壓榨性能的需求。當
然做遊戲另當別論,但是那種一般都會自己有gui的toolkit。

【在 l*********s 的大作中提到】
: msvc优化更好
c*******v
发帖数: 2599
28
my two cents:
这不是我觉得的。是实际测试出来的。前面不是贴了stackoverflow的讨论么。类似的
讨论有很多。
理论上c89也是windows之编程接口。然而实际问题碰上了很难debug。
最后的办法就是用vs studio,按msft给的提示一点点修。换言之,得重写成mscpp那个
全套的东西。
问题不仅仅在编译器。在于windows对c89标准库的支持有很多问题。总归要用windows
api,sdk,
etc。
换言之,c89的程序在linux系各种版本上都没什么问题。undefined behavior多数都是
约定俗成
,保守点写就可以。windows我是怕了。
在windows下,语法上可以用c89。但是性能出问题很难修。还不如一开始就用ms cpp。
例如redis到今天还没有offical windows版本。目测这件事不容易。
再比如我之前有个处理声音的c程序。放那一直没修好。除非很懂windows的。不然目测
修好则
需要至少3天。我现在还放着没管。

【在 n******t 的大作中提到】
: 你爲什麼會覺得同樣一段代碼在OS 1下面用編譯器X比在OS 2下面用編譯器X出來的程序
: 慢很多,是因爲OS A下你沒有用編譯器Y的?
: 而且更讓我驚奇的是,你爲啥覺得windows下面程序用那個編譯器的主要因素是性能?

n******t
发帖数: 4406
29
你說這個鏈接和用不用mingw的關係我沒看出來:
https://stackoverflow.com/questions/33255393/why-is-this-c-program-slower-on
-windows-than-linux
這明顯是windows和linux的文件系統性能的差別。
"The code is compiled under GCC for Linux, and Visual Studio for Windows,
but I cannot imagine a universe in which the compiler used should make any
measurable difference to a pure I/O benchmark. The filesystem used in all
cases is NTFS."
他居然認爲這件事是一個pure I/O benchmark,這才是最絕望的地方。

windows

【在 c*******v 的大作中提到】
: my two cents:
: 这不是我觉得的。是实际测试出来的。前面不是贴了stackoverflow的讨论么。类似的
: 讨论有很多。
: 理论上c89也是windows之编程接口。然而实际问题碰上了很难debug。
: 最后的办法就是用vs studio,按msft给的提示一点点修。换言之,得重写成mscpp那个
: 全套的东西。
: 问题不仅仅在编译器。在于windows对c89标准库的支持有很多问题。总归要用windows
: api,sdk,
: etc。
: 换言之,c89的程序在linux系各种版本上都没什么问题。undefined behavior多数都是

c*******v
发帖数: 2599
30
不一定是文件系统。也可能是windows cache,heap size什么设置什么的问题。
这些我认为msft自己的工具链都处理好了。或者会给提示。但是gcc mingw不包括这些
部分。
windows专家可能能写好gcc mingw。我没这个水平。只能不选这条路了。

on

【在 n******t 的大作中提到】
: 你說這個鏈接和用不用mingw的關係我沒看出來:
: https://stackoverflow.com/questions/33255393/why-is-this-c-program-slower-on
: -windows-than-linux
: 這明顯是windows和linux的文件系統性能的差別。
: "The code is compiled under GCC for Linux, and Visual Studio for Windows,
: but I cannot imagine a universe in which the compiler used should make any
: measurable difference to a pure I/O benchmark. The filesystem used in all
: cases is NTFS."
: 他居然認爲這件事是一個pure I/O benchmark,這才是最絕望的地方。
:

相关主题
问一个MinGW + CMake 的问题一般visual studio C++ 下编译通过的程序放到linux下编译需要做什么改动?
关于C的数组大小visual studio 编译器怎么关掉warning?
别见笑:一个初级问题:如何把开源open-source的源程序导入Visual studio用linux真费劲,经常出现莫名其妙的问题
进入Programming版参与讨论
n******t
发帖数: 4406
31
如果你在寫一個服務器端的程序,選windows除了你的客戶就是用windows的,沒有任何
意義。Windows不是一個設計成跑服務器的平臺。但是如果你的客戶明確要windows,你
當然應該用原生環境開發,用什麼go和java都是給自己找事。
windows下面從來就沒有真正支持過iso C,但是不重要,在Unix下面只用iso C,這年
頭也已經不行了,你至少得用posix的東西,如果是Linux,你most likely還會用glibc
的東西,這種東西在windows下面就是win32 api.
但是在C這個level上面,mingw+win32api是沒有什麼性能問題的(也沒法有性能問題,
因爲不管你用啥最後都變成了win32api call),而且這個也是gcc在windows下面開發
推薦的做法。注意這個approach是native的,不是可移植的,which我前面說了,總結
成兩點:
1. windows下面開發,如果你是純粹的desktop,性能不重要。這個時候你主要需要考
慮開發速度,界面,兼容,這個時候最好是用C#+VSstudio,不追求用戶體驗可以用qt
,gtk,go這種跨平臺的。
2. 要care性能的,你應該用native的開發環境,如果你有錢有時間上VS,沒錢而且不
想折騰windows開發工具,用mingw+win32api(再強調一次,這個不是portable的
solution,是native solution,窮人的native solution也是native solution)。

windows

【在 c*******v 的大作中提到】
: my two cents:
: 这不是我觉得的。是实际测试出来的。前面不是贴了stackoverflow的讨论么。类似的
: 讨论有很多。
: 理论上c89也是windows之编程接口。然而实际问题碰上了很难debug。
: 最后的办法就是用vs studio,按msft给的提示一点点修。换言之,得重写成mscpp那个
: 全套的东西。
: 问题不仅仅在编译器。在于windows对c89标准库的支持有很多问题。总归要用windows
: api,sdk,
: etc。
: 换言之,c89的程序在linux系各种版本上都没什么问题。undefined behavior多数都是

n******t
发帖数: 4406
32
windows的文件系統吞吐和linux比就是垃圾。這個從90年代末就是這樣,怎麼調都沒用。
不過這不是重點,重點在於爲什麼他會認爲在一個mount的文件系統上面call libc的
fwrite,測得是pure I/O?考慮到這個人顯然是當前IT從業人員的高級水平,整個行業
的狀況就非常讓人擔憂了。

【在 c*******v 的大作中提到】
: 不一定是文件系统。也可能是windows cache,heap size什么设置什么的问题。
: 这些我认为msft自己的工具链都处理好了。或者会给提示。但是gcc mingw不包括这些
: 部分。
: windows专家可能能写好gcc mingw。我没这个水平。只能不选这条路了。
:
: on

r*g
发帖数: 3159
33
C++的也分是什么版本的。我用过国内交易所的Api.那是MSC++编译的。示例文档,技术
交流群全是windows based。看你目标要是把程序跑起来干活,还是自己hack做实验,否
则还是不要乱搞了。

【在 m*****n 的大作中提到】
: 关键是底层的金融模块,人家提供的就是C++的
: 所以已经尽量简化了,把需要和底层通讯的模块单做一个命令行程序
: 就这也绕不开Visual C++ 和VS吗?
:
: 而且
: on

c*******v
发帖数: 2599
34
mingw除了自己的几个东西,用的就是system32目录里面那几个过去vc6/vb6用的c run
time等等一些dll。
所以mingw build出来的exe,在windows 10出问题不奇怪。
因为windows 10更新的时候是不会去照顾过去的dll的。
我的理解:mingw的项目的risk,与vc6/vb6写的程序在windows 10跑相当。
不出问题也就算了,出问题之后肯定要windows专家才能解决。
所以很难认为用mingw,不用msft新的toolchain是划算的。

glibc

【在 n******t 的大作中提到】
: 如果你在寫一個服務器端的程序,選windows除了你的客戶就是用windows的,沒有任何
: 意義。Windows不是一個設計成跑服務器的平臺。但是如果你的客戶明確要windows,你
: 當然應該用原生環境開發,用什麼go和java都是給自己找事。
: windows下面從來就沒有真正支持過iso C,但是不重要,在Unix下面只用iso C,這年
: 頭也已經不行了,你至少得用posix的東西,如果是Linux,你most likely還會用glibc
: 的東西,這種東西在windows下面就是win32 api.
: 但是在C這個level上面,mingw+win32api是沒有什麼性能問題的(也沒法有性能問題,
: 因爲不管你用啥最後都變成了win32api call),而且這個也是gcc在windows下面開發
: 推薦的做法。注意這個approach是native的,不是可移植的,which我前面說了,總結
: 成兩點:

n******t
发帖数: 4406
35
mingw的runtime也是更新的,不是你說的copy dll。此外,VS一樣要更新crt。
很多open source的windows版本都是用mingw編譯的,並沒有你說的毛病。
至於划算不換算,就是見仁見智了。有人覺得200塊也挺多的,但是沒有200塊的人並不
是不能寫出好程序的。

run

【在 c*******v 的大作中提到】
: mingw除了自己的几个东西,用的就是system32目录里面那几个过去vc6/vb6用的c run
: time等等一些dll。
: 所以mingw build出来的exe,在windows 10出问题不奇怪。
: 因为windows 10更新的时候是不会去照顾过去的dll的。
: 我的理解:mingw的项目的risk,与vc6/vb6写的程序在windows 10跑相当。
: 不出问题也就算了,出问题之后肯定要windows专家才能解决。
: 所以很难认为用mingw,不用msft新的toolchain是划算的。
:
: glibc

g****t
发帖数: 31659
36
Mingw调用的那些dl, 不能Copy进自己的软件里。微软有限制。但这个同样的代码可能
会比Linux慢很多的问题,我之前查过绵延多年。stackoverflow, quora一开始就有不
少条。非常多样。所以我认为risk是很高的。


: mingw的runtime也是更新的,不是你說的copy dll。此外,VS一樣要更新crt。

: 很多open source的windows版本都是用mingw編譯的,並沒有你說的毛病。

: 至於划算不換算,就是見仁見智了。有人覺得200塊也挺多的,但是沒有200塊的
人並不

: 是不能寫出好程序的。

: run



【在 n******t 的大作中提到】
: mingw的runtime也是更新的,不是你說的copy dll。此外,VS一樣要更新crt。
: 很多open source的windows版本都是用mingw編譯的,並沒有你說的毛病。
: 至於划算不換算,就是見仁見智了。有人覺得200塊也挺多的,但是沒有200塊的人並不
: 是不能寫出好程序的。
:
: run

n******t
发帖数: 4406
37
都不能copy進自己的軟件里。。微軟下面是沒有真正的靜態鏈接的說法的。
而且我實在是不懂你爲啥覺得兩個不同的操作系統,在同一個硬件上面performance應
該一樣。你真當寫OS的人大街上隨便找麼?

【在 g****t 的大作中提到】
: Mingw调用的那些dl, 不能Copy进自己的软件里。微软有限制。但这个同样的代码可能
: 会比Linux慢很多的问题,我之前查过绵延多年。stackoverflow, quora一开始就有不
: 少条。非常多样。所以我认为risk是很高的。
:
:
: mingw的runtime也是更新的,不是你說的copy dll。此外,VS一樣要更新crt。
:
: 很多open source的windows版本都是用mingw編譯的,並沒有你說的毛病。
:
: 至於划算不換算,就是見仁見智了。有人覺得200塊也挺多的,但是沒有200塊的
: 人並不
:
: 是不能寫出好程序的。
:
: run

b***i
发帖数: 3043
38
我以前做个那个面试项目就是要求项目用CMakeList,这样既可以在VS里面使用,可以
在Linux下编译。我就两个都试验了一下,确实好用。你可以要求你的学生交付这样的
CMakeList的项目。你在Linux下编译如何?

【在 m*****n 的大作中提到】
: 能否用CMake替代Visual Studio的劳什子?
: 学生给我交付的是Visual Studio的一大摊子,里面还加载着用CMake辅助编译的开源库
: 既然底层都是make
: 能否用CMake把调用库都分析出来,最后直接用CMakeLIsts.txt完事?
: Visual Studio实在是配置过于复杂,而且错误无法排查。

m*****n
发帖数: 3575
39
丫在VS现有条件下能编译过就不错了。还要啥自行车啊!
高校出来卖劳力的都是老油条

【在 b***i 的大作中提到】
: 我以前做个那个面试项目就是要求项目用CMakeList,这样既可以在VS里面使用,可以
: 在Linux下编译。我就两个都试验了一下,确实好用。你可以要求你的学生交付这样的
: CMakeList的项目。你在Linux下编译如何?

b***i
发帖数: 3043
40
可以绕开啊,比如过时的C++ Builder 10,就不是VS,也可以用啊。但是,你学生提交
的是老板的VS,谁帮你把sln改成在那个编译器下能够编译呢?

【在 m*****n 的大作中提到】
: 关键是底层的金融模块,人家提供的就是C++的
: 所以已经尽量简化了,把需要和底层通讯的模块单做一个命令行程序
: 就这也绕不开Visual C++ 和VS吗?
:
: 而且
: on

相关主题
问个简单的Fortran问题Eclipse JNI问题, 拜谢
大型程序如何加快编译速度Gcc出来的exe,被防病毒软件block了......
死了,哪里有mingw的入门介绍?[合集] 6个变态的C语言写的Hello World (ZZ)
进入Programming版参与讨论
m*****n
发帖数: 3575
41
他得改过来。他改不过来我不付尾款。

【在 b***i 的大作中提到】
: 可以绕开啊,比如过时的C++ Builder 10,就不是VS,也可以用啊。但是,你学生提交
: 的是老板的VS,谁帮你把sln改成在那个编译器下能够编译呢?

b***i
发帖数: 3043
42
到底项目多大?如果只是一个文件,还好办,命令行可以做到。
VS
c:hello>cl /EHsc hello.cpp
C++ builder
bcc32 filename.cpp

【在 m*****n 的大作中提到】
: 他得改过来。他改不过来我不付尾款。
c*******v
发帖数: 2599
43
一定范围内的程序,在不同OS表现可以相同啊。这是个连续的spectrum,不是非黑即白
的。
弄清楚这个区域,那我就可能分出来这一块。写一个单独的c89或者别的c标准的库。
各种设备上这个部分就可以重用。
最简单的,例如不牵涉IO的math,问题都不大(加几个宏处理整数长度什么的)。
file IO比较麻烦,但也可以分类。等等。能往外走的越多,越省工时。

【在 n******t 的大作中提到】
: 都不能copy進自己的軟件里。。微軟下面是沒有真正的靜態鏈接的說法的。
: 而且我實在是不懂你爲啥覺得兩個不同的操作系統,在同一個硬件上面performance應
: 該一樣。你真當寫OS的人大街上隨便找麼?

m*****n
发帖数: 3575
44
用了两个API和一个libevent
外加监听本地端口,分析json和cp936转码(可能没有)

【在 b***i 的大作中提到】
: 到底项目多大?如果只是一个文件,还好办,命令行可以做到。
: VS
: c:hello>cl /EHsc hello.cpp
: C++ builder
: bcc32 filename.cpp

1 (共1页)
进入Programming版参与讨论
相关主题
什么语言简练如python运行速度如C++问个简单的Fortran问题
develop linux apps on Windows大型程序如何加快编译速度
问一个MinGW + CMake 的问题死了,哪里有mingw的入门介绍?
关于C的数组大小Eclipse JNI问题, 拜谢
别见笑:一个初级问题:如何把开源open-source的源程序导入Visual studioGcc出来的exe,被防病毒软件block了......
一般visual studio C++ 下编译通过的程序放到linux下编译需要做什么改动?[合集] 6个变态的C语言写的Hello World (ZZ)
visual studio 编译器怎么关掉warning?请问GCC有没有检查宏是怎么展开的工具啊?
用linux真费劲,经常出现莫名其妙的问题为什么在我的电脑上编译好的程序,无法在其他电脑上运行?
相关话题的讨论汇总
话题: windows话题: cmake话题: vs话题: mingw话题: c++