[英]How do I call a program or code which has main in debug mode?
我有一個CPP程序(我們稱之為程序1),它調用另一個CPP程序(程序2)。 此Program2以調試模式構建。 那是:
int main(int argc, char** argv) {
///Function body#
eerot[0] = atof(argv[1]);
eerot[1] = atof(argv[2]);
eerot[2] = atof(argv[3]);
eetrans[0] = atof(argv[4]); //Exception thrown here due to memory clash
///Continue
}
上面的代碼片段描述了program2中我的主程序的結構。 Program2既沒有執行錯誤也沒有拋出任何異常。 現在我想從program1調用program2的這個main函數,但我堅持使用雙指針變量。 因為argv變量是雙指針,即使我能夠創建一個字符串,雙引用它並將其作為參數傳遞給program2,我得到異常。 沒有編譯錯誤。 所有適當的標題都是完美定義的。
我無法編輯program2,因為它是由其他團隊開發的,很難遵循。 我已經改變了程序2的主要功能的名稱(比如說“calculate()”)並從program1的main中調用了它。 我還適當地包含了目錄和頭文件,以使program1中的所有函數和program2類都可見。 現在我唯一困住的是雙指針argv變量。 如何通過命令提示傳遞我必須通過另一個程序傳遞的參數?
請注意,我們在program2的命令提示符中傳遞的參數是double類型。 我試圖使用數組,但我不斷向我拋出異常。 在嘗試解決問題時,讓我知道您想到的任何事情。
我相信問題是main()聲明中的三重指針。 你可能意味着:
int main(int argc, char** argv) {
要么
int main(int argc, char* argv[]) {
你想要char ** argv ...或者char * argv [],不是char ** argv []
以上兩者都是指向數組的指針。 你所擁有的是一個指向2D數組的指針,所以你訪問元素的方式最終會超過數組元素的數量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.