作者s25g5d4 (function{}())
看板Programming
標題Re: [問題] GCC 和 visual studio
時間Thu Oct 2 22:36:03 2014
: VS設定時必須在Code Generation關閉Secrutiy Check
: 但是這只是讓編譯通過而已
: 要讓scanf不產生Runtime Error 必須把Basic Runtime Check設成Default
: 你一直覺得只有一個選項
: 我不知道你到底有沒有實際去試過
小弟弱弱,只是上個學期剛好有用 VS 2012 寫 console program
請問要怎樣才能把 scanf 搞到產生 Runtime Error
一樣的做法不用 VS, 用 GCC 就不會搞到 Runtime Error 嗎? QQ
我當初建專案是選 Win32 主控台應用程式 -> 空專案
scanf 可以直接用只是會噴 warning 噴你全身
小弟多寫一行 #define _CRT_SECURE_NO_WARNINGS 他就不噴 warning 了
後來發現在建立專案的時候不要勾安全性開發週期檢查也有一樣的效果
但是上機考試的時候,這 warning 居然升級成 error 了,不給編譯
但是一樣 #define _CRT_SECURE_NO_WARNINGS 後又能編譯了
而且程式正確執行無誤,小弟此題拿滿分,沒有 Runtime Error
想請問一下是不是因為小弟跟大大用的版本不同才會這樣?
--
1F:推 xgodtw:樓下你猜marklin的雞雞等下會怎麼樣?06/08 01:23
2F:推 marklin:========================會爆==========================06/08 01:23
3F:推 Ray0215:未看先猜樓下馬克林06/08 01:23
4F:→ Ray0215:1FGJ06/08 01:23
5F:推 Hateson:1F XDDDDDDDDDDDDDDD 06/08 01:24
6F:推 marklin:幹06/08 01:25
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.181.25
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Programming/M.1412260565.A.CD9.html
7F:推 ws23: 你#define會在compile前的preprocess時就已 134.208.2.125 10/02 23:45
8F:→ ws23: 經定義成不使用CRT函式去檢查一些安全性開發 134.208.2.125 10/02 23:47
9F:→ s25g5d4: 因為他說的好像要調整很多選項 我都沒聽 140.117.181.25 10/03 00:34
10F:→ s25g5d4: 過但是就能用 scanf 所以想問清楚這樣 140.117.181.25 10/03 00:34
11F:→ s25g5d4: 是不是會 runtime error 140.117.181.25 10/03 00:34
12F:推 wuliou: 我去年也有碰到 用#define不鳥我一樣不給 59.115.51.69 10/05 20:58
13F:→ wuliou: 過 後來就怒換gcc了… 59.115.51.69 10/05 20:58
14F:→ WPC001: 應該是得用scanf_s(), 本來就是這才安全 1.163.11.210 10/05 21:25