C++可執(zhí)行文件絕對路徑值與VS安全檢查詳解
前言
前幾天寫新項目需要用到程序所在絕對路徑的時候,發(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**,也就是普通的字符串?dāng)?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-)
到此這篇關(guān)于C++可執(zhí)行文件絕對路徑值與VS安全檢查的文章就介紹到這了,更多相關(guān)C++可執(zhí)行文件絕對路徑值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
計時器的time_t和clock_t 的兩種實現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄嫊r器的time_t和clock_t 的兩種實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
聊聊Qt+OpenCV聯(lián)合開發(fā)之圖像的創(chuàng)建與賦值問題
這篇文章主要介紹了Qt+OpenCV聯(lián)合開發(fā)之圖像的創(chuàng)建與賦值問題,給大家介紹了圖像的克隆及拷貝問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01
簡單了解設(shè)計模式中的裝飾者模式及C++版代碼實現(xiàn)
這篇文章主要介紹了簡單了解設(shè)計模式中的裝飾者模式及C++版代碼實現(xiàn),ConcreteComponent的引用(指針)也可以達到修飾的功能,需要的朋友可以參考下2016-03-03

