2014-10-06 26 views
0

我的源代碼a.c中的主要方法接受2個參數:一個是文件名,另一個是整數。我運行它想:切片時將多個參數傳遞給C文件

 ./a.out filename1.txt 3 

但是當我嘗試使用切片與郵資-C

 frama-c a.c filename1.txt 3 -slice-...... 

Framac拋出一個錯誤說,它不能找到該文件3 ???

我也試過其他選項,當我輸入filename1.txt_3並在代碼中單獨提取它們,但即使如此frama-c也不喜歡它。它抱怨它無法找到文件filename1.txt_3。

請讓我知道如何將多個參數發送到源運行郵資C使用時

回答

1

如果你的分析程序需要命令行參數,你通常需要編寫的void一個函數,建立參數argcargv,並將它們傳遞在分析程序的main()功能:

​​

注意,如果目標是有作爲文件名「filename1.txt」與fopen()打開並從fread()讀取,而且該文件的內容與程序的行爲有關,您最好爲這兩個函數提供實現,它們在調用時返回所需的結果。

反之,如果分析的程序做的第一件事是通過argv[2]strtol(),你可能要務實地簡化了程序的該位而不是爲strtol()提供實現的,其中的分析只會帶來複雜性,其中沒有是必要的。