日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

C++可執(zhí)行文件絕對路徑值與VS安全檢查詳解_C 語言

作者:yuitoTDF ? 更新時間: 2023-02-17 編程語言

前言

前幾天寫新項目需要用到程序所在絕對路徑的時候,發(fā)現(xiàn)網(wǎng)上居然一點相關(guān)分享都沒有。

:_pgmptr

翻箱倒柜找出了幾本教程,發(fā)現(xiàn)了一個叫_pgmptr的東西。

進去看了一下,在stdlib.h里拓展到了函數(shù)__p__pgmptr(),函數(shù)原型:

復制代碼 代碼如下:
_CRT_INSECURE_DEPRECATE_GLOBALS(_get_pgmptr ) _ACRTIMP char** __cdecl __p__pgmptr (void);

返回值為char**,也就是普通的字符串數(shù)組。

:VS安全檢查

趕緊放到項目里試一試,結(jié)果卻報錯了。

定睛一看,原來是Visual Studio的安全檢查不讓這個“可能”越界的函數(shù)過編譯。一般來說,改用它提示的安全函數(shù)就可以過,可這次居然沒有安全函數(shù)...

于是乎,要么找別的函數(shù), 要么繞過安全檢查。我選擇了后者,根據(jù)錯誤提示定義安全宏:

#define _CRT_SECURE_NO_WARNINGS

別急著拷,先往下看...

定義了安全宏之后,還是報了同樣的錯...不知道你們會不會,反正我是這樣

那么,要繞過安全檢查,就得另辟蹊徑了。

在解決方案資源管理器中右鍵項目,單擊屬性,進入下方頁面

找到C/C++ -> SDL檢查 -> 否(/sdl-)-> 確定

這樣,安全檢查就被繞過了。

總結(jié)

1.程序絕對路徑獲取:_pgmptr

2.VS安全檢查:項目屬性 -> C/C++ -> SDL檢查 -> 否(/sdl-)

原文鏈接:https://www.cnblogs.com/yuito/p/17030233.html

欄目分類
最近更新