MSVC如何用命令行编译出64位程序

六道佩恩 2021-09-02 22:18:10

工具是VC2010,默认编译的都是32位,不清楚能否编译出64位程序,以及以命令行该如何编译出?记得/machine的选项都试了,好像都不可行

...全文
13845 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
觉渺 2022-03-07
  • 打赏
  • 举报
回复

私信只能发三句,我在这里回你。
setvbuf的第二个参数,是给流(stdin/stdout/文件等)的缓冲区(我们叫它buffer)。因为是测试stdin,所以用scanf函数,它的第二个参数是被读入变量的地址(字符数组,因为是数组,直接,写字符数组名,我们叫他string)。这两个量,是两个独立的内存,不应该,把string传入到setvbuf做它的第二个参数。如果,把string作为参数传入到setvbuf中,那么就会出现,你当时提出的问题。
你要是还感兴趣,可以看一下,我这个回答。
关于setvbuf(stdin,......)的问题? - 觉渺的回答 - 知乎
https://www.zhihu.com/question/54681443/answer/2378633586

赵4老师 2021-09-03
  • 打赏
  • 举报
回复 1

仅供参考:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_arm\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_arm\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x86\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30037\bin\Hostx86\x64\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30037\bin\Hostx86\x86\cl.exe

  • 打赏
  • 举报
回复

VC++2005就支持64位了,否则xp和vista的64位版本是怎么编译出来的呢
VC++的设计是不同版本(x86、x64、ARM、ARM64等等)的编译器独立存在,不是gcc那种一个编译器生成不同平台可执行文件的设计,安装好之后,只需要在命令行运行vcvars32.bat、vcvars64.bat... 就可以使用对应的命令行工具

六道佩恩 2021-09-06
  • 举报
回复
@日立奔腾浪潮微软松下联想 我用的VC2010学习版,只有vcvars32.bat,没有vcvars64.bat,是安装错了还是?vcvars32.bat运行出来是什么样子,我运行了好像没啥结果
赵4老师 2021-09-03
  • 打赏
  • 举报
回复

VC2010是不是不支持编译生成64位程序?

如果是VS2015,参考下面:
生成Release|x64
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" d:\test\test.sln /rebuild "Release|x64" /out d:\test\c.log
或生成Debug|x64
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" d:\test\test.sln /rebuild "Debug|x64" /out d:\test\c.log

六道佩恩 2021-09-03
  • 举报
回复
@赵4老师 CL不可以吗?VC2010好像没devenv.exe

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧