首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

初学 C,被编译搞懵逼了

  •  
  •   wsds · 83 天前 · 4554 次点击
    这是一个创建于 83 天前的主题,其中的信息可能已经有所发展或是发生改变。
    windows 上,下载的 mingw 中的 g++编译的,看别人都是 makefile 编译的,搞不懂
    请教一下大家,初学的话,怎么编译自己写的代码?
    第 1 条附言  ·  83 天前
    多谢各位推荐
    56 回复  |  直到 2018-08-01 13:40:01 +08:00
        1
    loqixh   83 天前
    windows 用什么 mingw
    vs2017 不更好?
        2
    youngxu   83 天前 via Android
    dev-c++你值得拥有
        3
    wsds   83 天前
    @loqixh 装了 vs2013,编译是可以编译,但不喜欢的是,vs 运行自己写的代码不在内置控制台输出,而是在 cmd 窗口,不太喜欢这个交互方式,而且觉得初学太这个工具太庞大了
        4
    wizardoz   83 天前
    那就先学一下 makefile 嘛
    如果不学的话:
    g++ hello-world.cpp -o hello-world
    也可以啊
        5
    misaka19000   83 天前
    makefile 还是需要调用 gcc 的,学编程要学会善用搜索
        6
    crack105   83 天前 via Android
    用 devc++吧,容易用,对新手友好
        7
    zynlp   83 天前 via iPhone   ♥ 1
    直接回答楼主问题,我是怎么编译的:
    1、windows 下 vscode 写代码;
    2、windows 写 Makefile ;
    3、同步到服务器上 make ;
    4、gdb 调试
    5、如果有 bug,重复 1 到 4 ;
    搞定
        8
    easylee   83 天前 via Android
    新手学 C,硬要上 IDE,主推 CODE::BLOCKS。
        9
    VVVVVEX   83 天前   ♥ 1
    那就不要学了,去学 js 吧
        10
    innoink   83 天前 via Android
    首先找个靠谱的书
        11
    waruqi   83 天前
    可以用 xmake,进入你的代码目录,直接运行:xmake run 就好了,会自动检测你的源码就够,给你生成一个类似 makefile 的 xmake.lua 文件,然后自动编译和运行。

    配合 vscode/intellij-idea/sublime 效果更佳,都有相关 xmake 插件提供。

    https://github.com/tboox/xmake
        12
    hyyou2010   83 天前   ♥ 1
    如果初学,必然不会有很多的 C 文件,那么就如同前面某位同学说的,直接编译就行了:
    g++ hello-world.cpp -o hello-world

    等你学到一定程度的时候再学 makefile,会写最简单的 makefile 即可,里面有最简单的依赖关系的
    现在没必要花时间在 makefile 上
        13
    hyyou2010   83 天前
    另外,推荐安装 VirtualBox 虚拟机,在其中安装 linux,然后在 linux 环境里面学习 C 语言
        14
    metorm   83 天前 via Android
    要么就先拿 vs 用着,要么就研究 cmake/make 清晰概念。dev-c++强烈不建议。
        15
    MeteorCat   83 天前 via Android
    网络相关编程,最好告别 mingw,用纯正 linux
        16
    JerryCha   83 天前
    初学用 Code::Block,带 mingw 版本的。初学玩啥命令行编译哟。
        17
    dongxiaozhuo   83 天前
    既然是初学 C,就别被周遭的工具所干扰了视线。Windows 上 devcpp 或者 visual studio 社区版就行。用 IDE 的好处就是 debug、编译一步走。熟悉了用 C 写代码,搞懂了数据结构,周遭的工具使用,阅读一下文档就知道如何用。

    初学者别被周围工具的问题,吸引走注意力。
        18
    jowuIM   83 天前
    建议认真考虑#16 #17,主要是因为因为 windows 下 C 编程真的挺吃力的,特别是初学者。编程环境的事情有时候真的很复杂,利用 IDE 屏蔽环境的问题,学习语法,数据结构和一个算法什么的更重要。
        19
    tao1991123   83 天前
    新手学 C 用 code::blocks 吧 先学 C
        20
    shijingshijing   83 天前 via iPhone
    新手还是虚拟机+linux 吧,微软自己给 c/c++造了不少轮子,mfc 什么的。最奇葩的是.Net 托管的 c++,语法直接惨不忍睹。
        21
    zhangqx   83 天前
    vscode 不是更好?
        22
    Tyanboot   83 天前
    要么 VS, 要么 CLION

    后者满足你说的在内置控制台输出.

    另外 cmd 就是 Windows 的控制台, vs 创建的时候的类型选择控制台程序就是在 cmd 输出的.

    另外 2018 年了为什么要装 vs2013? vs2017 社区版了解下? 只要 c++只需要不到 5G.

    另外用 devcpp/code::blocks 还不如用 clion.
        23
    jmc891205   83 天前
    初学用不着 makefile
        24
    Howlaind   83 天前
    markfile 是在后来文件太多、依赖关系复杂、编译参数太长,不愿意弄(弄起来也容易出错)的时候用的。初学还没必要用,就编译一个文件,上 markfile 反而麻烦。
    当你觉得直接敲 g++命令敲得手酸的时候,再来看看 makefile 吧。
        25
    wlgq2   83 天前
    codeblocks IDE 自带 mingw 安装包 100M,还能根据工程生成 makefile。
        26
    zhangpeter   83 天前
    dev-c++
    +1
        27
    zitengdu   83 天前
    Ubuntu + CMake + Sublime + Shell
    学生帐号再加一个 CLion
        28
    seancheer   83 天前
    makefile 完了还有 cmake,又是一个自动生成 makefile 的工具,你要把你大把的时间花费在工具上么?

    学 c 为什么不关注 c 本身,却在这些工具上纠结?
        29
    tt67wq   83 天前
    makefile 有好些自动生成的工具的,不用自己写的
        30
    mrcn   83 天前 via Android
    devc++。嫌弃太古老了也可以用 vscode 加上右键运行的那个插件。
        31
    chinawrj   83 天前
    建议 gcc 编译,ide 会让你搞不懂 C
        32
    suikator   83 天前
    28 楼说的对 把重点放到 C 和 Linux 上面 windows 全是坑
        33
    liangzi   83 天前 via Android
    想起了当初我学 C 在 Linux 系统上 然而网上教学几乎都是 Windows 系统 碰到一些头文件还没有 好歹有个 Google 解决问题就靠搜...
        34
    ai277014717   83 天前
    vs 省心啊。makefile 用到再说吧。
        35
    1423   83 天前
    找一本靠谱的书,选择一个工具,慢慢学
    别把时间浪费在摆弄各种工具上
        36
    psychoo   83 天前
    好像 code::blocks 是最严格的吧……适合初学
        37
    loqixh   83 天前
    @wsds 如果你要用 linux api 把 wsl 打开或者开虚拟机 vs 配置成 ssh 即可 远程编译 远程调试
    只要学 c api 用不着 linux 别被上面的骗了 初学者我相信用不着 linux api
        38
    Loren   83 天前 via Android
    vscode+wsl,你要的都满足
        39
    loqixh   83 天前
    @zynlp vs 配置下 可以自动远程连接 linux 编译运行调试, 更方便
        40
    tushankaka   83 天前 via Android
    linux,gcc,vim 就可以了
        41
    SonicY   83 天前 via Android
    别在 Makefile 上下太多功夫,写到吐,以后可以用 CMake 之类的工具。
        42
    kevinhwang   83 天前 via Android
    别深入学 c,浪费时间,了解基本语法和指针写刷算法即可。
    c 对计算机底层也没什么大的帮助,反而会陷入底层的深渊,还是从高层应用向下学更好。
    尽快学 java,生态非常好,多点看开源项目源码。
        43
    mmdsun   83 天前 via Android
    推荐 visual studio 2017 宇宙最强 IDE
        44
    shijingshijing   83 天前
    @kevinhwang 不同意,底层还是要看的,计算机架构方面 X86 和 ARM 可以作为 CISC 和 RISC 的典型仔细看看,其他类型的 CPU 就算了;操作系统方面重点看一下 Linux 就行了,Windows 不用看。如果想把这两样都玩熟,都需要 C 的基础,否则再往上和高级语言之间就缺了一层,衔接不起来。
        45
    young6   83 天前 via Android
    makefile 是为了自动编译大型项目。你现在只是写些小 demo 直接 gcc 即可。另外,windows 下个人认为不适合写 c,写 c++比较合适。写 c 还是 linux 方便。
        46
    hatsuyuki   83 天前
    要在 Windows 上用 Makefile
    1.安装 MinGW-W64 ( https://www.cnblogs.com/findumars/p/8289454.html)
    2.在 MinGW-W64 下的 bin 目录找到 mingw32-make.exe ,复制一份,改名为 make
    3.根据这份 跟我一起写 Makefile (PDF 重制版) ( https://pan.baidu.com/s/1zWmehuHvcCeyDIzota4Jcg) 写 makefile
        47
    HarveyDent   83 天前
    初学:用 IDE 或者用 Linux。你为何偏偏要选最蛋疼的 mingw。。。新手千万不要去搞什么 makefile。。。这些工具分分钟让你从入门到放弃。
        48
    hatsuyuki   83 天前
    还有推荐在 Windows 平台使用 Cmder 替代系统 cmd
        49
    bumz   83 天前
    其实吧
    装个虚拟机,虚拟机里装个 Ubuntu,就行了
        50
    20015jjw   82 天前 via Android
    新手别用 Windows 别用 ide
    老老实实开个 Linux/mac 开个 shell 弄个 sublime/atom/vs code 就行
        51
    orc   82 天前 via iPhone
    vc➕➕6.0
        52
    guolaopi   82 天前
    @orc +1..VC 够你用了。。。再说 CMD 招你了。。。
        53
    jagger2048   82 天前
    个人看来,新手学 C 最好直接上 IDE ( VS studio,dev c++,codeblock 等),然后专注于 数据结构与算法 这些的入门 [如果不是用来搞单片机的话] ,打好编程功底,不要一开始就折腾环境带偏了,要想清楚你是干啥的。在学有小成开始看开源项目或者自己折腾其他小东西的时候再用到啥学啥, 直接开 linux 虚拟机 上 shell 真是劝退
        54
    NCE   82 天前
    真羡慕现在的小孩子。。。还有时间学 C。。。

    我上次这么学是 15 年前了,后来发现,这玩意看看语法还行,真要做出东西来怕是胡子都白了。。。

    然后转学 C#,一直到现在。
        55
    macha   82 天前
    直接上 IDE,新手别去折腾工具链,要不然折腾半天一句代码没写已经把自己绕晕了。windows 强推 VS2017 社区版。
        56
    allgy   82 天前
    c: gcc test.c -o test
    c++: g++ test.c -o test
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1681 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 32ms · UTC 15:59 · PVG 23:59 · LAX 08:59 · JFK 11:59
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1