作者bachelorwhc (单身老王)
标题Re: [问题] GCC 和 visual studio
时间Wed Oct 1 23:03:12 2014
※ 引述《NaiveRed (天真红)》之铭言:
: 最近开始上程式设计
: 小弟是张白纸QQ
: 老师会出作业 没有限定说要用什麽软体or编译器
: 只要交出来就好
: 爬了一些文 也还是不太清楚 到底GCC 和 Visual studio
: 哪个比较好 ? 我想应该是各有不同的好处
这个问题很有趣
假设我今天是一个婴儿
我会去踌躇中文跟英文哪个比较好吗
你问的这个问题
1. 你应该先了解什麽是Compiler什麽是IDE
2. 你应该先了解你现在需要什麽
简单来说GCC是大家的标准
Microsoft C 是Microsoft的标准 说穿了就是Microsoft在自HIGH
全世界都认为scanf没问题的时候 微软偏偏要警告你scanf不安全
好啦 scanf是真的颇危险的
为了教你们怎麽开专案 怎麽让scanf通过编译
我还得牺牲下班时间录影片
要是我选 一定选Code::Blocks与GCC嘛
我也跟教授讨论过了 不过这是教授的决定
但我们都一致支持你们选用自己的开发工具
只要不要太古怪就好了
问题就回到了
中文 跟 英文 哪个比较好
为什麽我今天会讲中文 很简单嘛 我一开始学的语言就是中文
一个技术 你只要花一万小时 很难不熟练
板友跟你解释了这麽多
如果对你有帮助 那你自己去搜寻资料就好了
仔细想想这个问题 对你真的很重要吗?
你要学GCC 我支持你
但我建议你 就去灌个Linux吧 但你还得学Makefile怎麽写
Code::Blocks我也录影片教学了 你们班到底有没有在看Moodle的资料
我真的很好奇
我国高中用DevC++
我大一用Code Blocks
我大二用Visual C++写DirectX
现在我大四才开始学写Makefile跟用GCC 还有一堆不同的语言跟工具
对我来说 只是一个要学的东西而已
他适合不适合新手 我根本不在乎
今天你进公司 老板要你写XXX语言 用OOO工具
说真的 你要嘛就乖乖学 要嘛就收拾东西走人
没有人一开始不是白纸 除非他有前世的记忆 或者天赋异禀
每天都有新的玩意儿在推出
纯粹就是环境、需求、规格而已
你现在最重要的 就只是把一个语言学好而已 就这麽单纯
你是李小龙的徒弟 双节棍都还不会耍 就在选要哪个厂牌的双截棍
李小龙搞不好耍得出差别啦
但你现在先知道怎麽耍 比较重要
老板已经尽量要我把IDE对学习的影响降到最低了
: 估狗只看到一堆英文和程式QQQQQQQ
看了一下你另一篇发文 你表示你对英文苦手
说真的 如果你大学四年在本系没有遇到任何一堂课是对英文能力有需求的
我觉得我们系可以收一收了 这个学历应该不值钱
就像板友讲的 学校图书馆有那麽多中文书 你偏偏要买一本
翻译得好不好 这要看译者 但我见过的翻译几乎都不好
不是译者的错 是太难翻译
要同时兼具翻译能力与不会翻错的专业能力 这样的人不多
台湾买资工专业书的人又越来越少 恶性循环
离题了
你大学的第一本 程式设计 用一本中文书 是好是坏 我觉得因人而异
但这种东西 就跟学骑脚踏车的辅助轮一样
有些人一辈子都不敢拆 一辈子就有障碍
为什麽英文很重要
因为这东西是老外发明的
因为你要跟别人沟通 要用原文名词
因为绝大多数的API、Library、Tool 是用英文说明的
因为第一手消息、最原始的资料 是用英文写成的
你如果不敢接触英文
所有的文章 都要等别人翻译
你的英文没办法成长
你跟其他专家的术语沟通会有障碍
你会错失更多的新技术甚至知识
你还得承担买到一本烂中文书的风险
如果真的不行接受英文
C How to Program 原文版 中文版 各借一本来看
每个章节英文先读一次 中文再读一次 英文再读一次
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.241.165
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Programming/M.1412175797.A.E5E.html
1F:推 fireslayer: gcc是大家的标准?呵呵140.113.136.220 10/02 14:28
有什麽知识想分享可以直接写出来
不妨让我看看您有何高见。
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 15:31:44
2F:→ Killercat: 其实我也不太认可这句,你在windows上 59.124.251.135 10/02 16:14
3F:→ Killercat: 的话,就不要自找麻烦gcc 59.124.251.135 10/02 16:15
所以Windows是微软
Linux开放原始码 许多应用都基於开放标准
就连语言实作都是GCC最先跟进
台湾大概是被微软荼毒了
什麽角度都用Windows当作主位
4F:→ Killercat: 在windows上 最新版的vc就是标准 59.124.251.135 10/02 16:15
5F:→ Killercat: 在linux/unix上的话 vc就只是屁 59.124.251.135 10/02 16:15
6F:→ Killercat: 不过撇开这句 我也是强烈建议学一下 59.124.251.135 10/02 16:16
7F:→ Killercat: 整个building chain, 不要用windows/VS 59.124.251.135 10/02 16:16
8F:→ Killercat: CLion很赞 顺便学一下CMake世界更美好 59.124.251.135 10/02 16:16
9F:→ Killercat: 不过其它地方我倒是相当赞同 写的不错 59.124.251.135 10/02 16:17
10F:→ suhorng: Clang + LLVM is dominating!!! 140.112.16.135 10/02 16:27
11F:推 s25g5d4: 不是建专案时少勾个选项就可以用scanf了140.117.205.159 10/02 18:05
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 18:10:31
12F:→ fireslayer: 就只是c/c++标准的一种实作,甚至140.113.178.253 10/02 19:21
13F:→ fireslayer: 没有支援到100% 何来"大家的标准"?140.113.178.253 10/02 19:21
"OpenSource" 要贴Wiki连结吗?
14F:→ fireslayer: scanf就真的很危险,随便google都有140.113.178.253 10/02 19:23
是呀
所以这是重点?
我难道没写?
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:25:01
15F:→ fireslayer: opensource的中文叫做"大家的标准"?XD140.113.178.253 10/02 19:25
懒得跟你争了 看你在C/C++板的发文 我觉得还是别浪费太多时间解释好了
16F:→ fireslayer: 你对於标准两个字的定义可能还要多了140.113.178.253 10/02 19:26
17F:→ fireslayer: 解140.113.178.253 10/02 19:26
谢谢指教
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:27:49
18F:→ fireslayer: 自己内文说"全世界都认为scanf很安全"140.113.178.253 10/02 19:26
19F:→ fireslayer: 又说不是重点 只好X,DDD,DDD,DDD一下140.113.178.253 10/02 19:27
20F:→ fireslayer: *没问题140.113.178.253 10/02 19:27
拜托你举出一个Microsoft以外的编译器
scanf会呈现error编译错误的 原因是"unsafe"的
拜托你 举出一个就好
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:29:10
21F:→ fireslayer: 你要看一个人四年前的文章来评定现在140.113.178.253 10/02 19:28
22F:→ fireslayer: 程度 那你大概就这样而已了140.113.178.253 10/02 19:28
24F:→ fireslayer: 认为scanf没问题140.113.178.253 10/02 19:30
我好像有写 "好啦 scanf是真的颇危险的" 这句吧
断章取义 也要有个极限
对啦 还是那一句
拜托你举出一个Microsoft以外的编译器
scanf会呈现error编译错误的 原因是"unsafe"的
拜托你 举出一个就好
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:31:49
25F:→ fireslayer: 只是一个编译器选项而已 楼上就有人140.113.178.253 10/02 19:32
26F:→ fireslayer: 跟你说了 还在编不过140.113.178.253 10/02 19:32
"为了教你们怎麽开专案 怎麽让scanf通过编译"
唉 感觉好不被尊重 连文章都没看 就在那边断章取义 呵呵
欸 你到底要举例了没?
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:36:50
27F:→ fireslayer: 我还在等你把opensource怎麽神翻译成140.113.178.253 10/02 19:37
28F:→ fireslayer: "大家的标准" 解释一下哩140.113.178.253 10/02 19:37
我一开始的原意是"Microsoft"的"C Compiler"是for Microsoft C
GNU C Compiler对新标准的支援 跨平台的支援 我想不需要多加解释
OpenSource的核心精神本来就是要大家一起参与
Linux/Unix也是多数开发者所选用的OS
我搞不懂 一个已经开放成这样 由公众审视 接纳社群开发的编译器
怎麽能不称为"大家的"
你要把咬着 我省略解释标准跟编译器关系的语句 不放
我也没办法
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:42:08
29F:→ fireslayer: IDE帮你多勾个选项说是微软的标准在140.113.178.253 10/02 19:40
30F:→ fireslayer: 自high140.113.178.253 10/02 19:40
你好像不知道什麽是Security Check跟Basic Runtime Check
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:42:44
31F:推 fireslayer: 神解释 所以你觉得"标准"跟"编译器"140.113.178.253 10/02 19:45
32F:→ fireslayer: 是可以忽略解释的XD140.113.178.253 10/02 19:45
对新手而言 如果我解释 他就能懂 那他应该自己去查
我认为现在解释 是没有意义的
又一个断章取义
33F:→ fireslayer: 多勾个选项 可以推测我不知道*check?140.113.178.253 10/02 19:45
34F:→ fireslayer: 神推理140.113.178.253 10/02 19:46
35F:→ fireslayer: 这个大四的已经成为神了140.113.178.253 10/02 19:46
VS设定时必须在Code Generation关闭Secrutiy Check
但是这只是让编译通过而已
要让scanf不产生Runtime Error 必须把Basic Runtime Check设成Default
你一直觉得只有一个选项
我不知道你到底有没有实际去试过
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:55:45
36F:→ fireslayer: 我有说只有一个选项?140.113.178.253 10/02 19:57
37F:→ fireslayer: 我不晓得勾这个可以让你high这麽久Y140.113.178.253 10/02 19:58
→ fireslayer: 只是一个编译器选项而已 楼上就有人 140.113.178.253 10/02 19:32
→ fireslayer: 跟你说了 还在编不过 140.113.178.253 10/02 19:32
※ 编辑: bachelorwhc (114.34.241.165), 10/02/2014 19:59:28
38F:→ fireslayer: OK 一个是误用140.113.178.253 10/02 20:00
39F:→ fireslayer: 但是秉持良心建议 会什麽东西不是你140.113.178.253 10/02 20:00
40F:→ fireslayer: 拿来呛人的工具 也不用认为你会的就是140.113.178.253 10/02 20:01
41F:→ fireslayer: "大家的" 最好的 最猛的140.113.178.253 10/02 20:01
42F:→ fireslayer: 因为事实上你也才刚学makefile跟gcc140.113.178.253 10/02 20:01
43F:→ fireslayer: 而老实讲程式界已经有往clang发展的140.113.178.253 10/02 20:02
44F:→ fireslayer: 的趋势 也常用cmake代替自己写makefil140.113.178.253 10/02 20:02
45F:→ fireslayer: e140.113.178.253 10/02 20:02
46F:→ bachelorwhc: 天哪 我什麽时候说过GCC是最好的 114.34.241.165 10/02 20:15
47F:→ bachelorwhc: 纯粹就是环境、需求、规格而已 114.34.241.165 10/02 20:16
48F:→ bachelorwhc: 因为你的语气我激动了 如果你觉得被 114.34.241.165 10/02 20:18
49F:→ bachelorwhc: 呛了 的确是我的错 我道歉 114.34.241.165 10/02 20:19
50F:推 Killercat: 不是被微软荼毒 而是难免得写在win上118.169.176.177 10/02 22:12
51F:→ Killercat: 我自己环境就一台linux 两台mac 但是118.169.176.177 10/02 22:12
52F:→ Killercat: 不代表我在工作上 在opensource上不需118.169.176.177 10/02 22:12
53F:→ Killercat: 要跟windows打交道118.169.176.177 10/02 22:13
54F:→ Killercat: 心胸放宽点 做很多事情会容易得多~118.169.176.177 10/02 22:13
55F:→ Killercat: opensource也是有ms的专案的 :P118.169.176.177 10/02 22:14
56F:→ azureblaze: 我觉得clang比gcc先进XD 36.226.251.87 10/02 22:44
57F:→ a73126: 我倒是觉得拿中英文比喻不是很恰当 140.113.46.50 10/03 12:11
58F:→ a73126: 这两者语言从根本上旧天差地远了,而不像 140.113.46.50 10/03 12:11
59F:→ a73126: VC和GC有同有异的部分 140.113.46.50 10/03 12:12
60F:→ a73126: 学中文和学英文是完全的两件事情 140.113.46.50 10/03 12:12
61F:推 eterbless: 只要在MS相关平台->VS 嵌入式或unix 59.120.184.171 10/03 18:01
62F:→ eterbless: based环境->gcc/clang 还是要看用在哪 59.120.184.171 10/03 18:02
63F:→ eterbless: 两者都有机会碰到 以初学来说会推荐用 59.120.184.171 10/03 18:04
64F:→ eterbless: VS熟悉基本语法跟变数再去unix环境学 59.120.184.171 10/03 18:05
65F:→ eterbless: makefile跟library相关的东西 59.120.184.171 10/03 18:06
66F:→ WPC001: GCC不是标准... 一堆GCC自己的规范 1.163.11.210 10/05 21:23
67F:→ Killercat: 现在标准支援上其实各家compiler都不差118.169.170.188 10/06 01:24
68F:→ Killercat: 了,除了VC固定落後一点已外... XD118.169.170.188 10/06 01:24