問題タブ [splint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Splint 静的コード分析のセグメンテーション違反
こんにちは、私が書いたac cqdeプロジェクトで静的分析をしようとしていますが、スプリントでエラーが発生します
どこから始めればいいのかわからないのですが、何か提案はありますか? 基本的に、このプロジェクト内のすべてのファイルがこのエラーを返します
debian - .splintrc プリプロセッサ ディレクティブ -D の空白
splint
Debian の安定した環境内で、いくつかのソースを実行したいと考えています。
プリプロセッサ ディレクティブを指定-DUINT16_T='unsigned short'
する必要があり、非常に頻繁に必要になります。ファイル内に配置したいと思い.splintrc
ます。
コマンドラインから実行するsplint -DUINT16_T='unsigned short' mysource.c
とうまくいきます。この行を私の.splintrc
ファイルに移動する場合
splint
呼び出しの結果
誰にも解決策はありますか?(別名なしでお願いします)。
さらなる議論のために、私は mnwe (minimal not working example) を提供しますhello.c
。これは役立つかもしれません:
コマンドgcc -DUINT16_T='unsigned short' hello.c
は正常に実行されます-splint -DUINT16_T='unsigned short' hello.c
もちろん、どちらも主張します
しかし、繰り返しになりますが、この DEFINE を my に含めるにはどうすればよい.splintrc
ですか?
c - Splint: strcpy() からの新しい新しいストレージ?
私はスプリントを学び、よりよく理解しようとしていますが、このコードから得られるエラーについて疑問に思っています:
エラーは次のとおりです。
copy
戻り値を捨てるのではなく、割り当てる正しい解決策はありますか(警告を取り除きます)?
c - スプリントの面白いエラー メッセージ
私はsplint
Cコードを実行していますが、次のステートメントが表示されました。
スプリントがfree
メモリを割り当てる前にメモリを要求していることは理解していますcalloc
が、これはアプリケーションのまさに初期化であるため、心配する必要がありますか?
編集:これは vm->jumptable が初期化される方法です
c - Linuxでmingwを使用してスプリントを使用する方法
splint と mingw がインストールされた状態で、debian linux の実際の安定版を実行しています。splint で C コード (mingw でコンパイルする必要があります) をチェックしたいです。mingw-includes を追加するだけでは実行できません。私はGNUと i686を定義しようとしましたが、もっと必要だと確信しています。さらに何を定義または含める必要がありますか?
ローンからアイデアを試してみた結果、 で問題が発生しました__builtin_va_list
。
面白いことに、インクルード フォルダーで再帰的な grep を使用しても、not の定義が見つかりません。私は間違って探していますか?それを(ベンジャロビン
から)
そのように定義することで、エラーに遭遇しました-D__builtin_va_list=va_list
+trytorecover でも回復できませんでした。
winnt.h (および隣接) からの行は次のとおりです。
奇妙ですね。
このスレッドにはそれ以上の回答が得られないので、この最小限の機能しない例で
動機を
与えます:test.c
と私.splintrc
簡単なコマンドsplint test.c
は失敗します:
繰り返しますが、セットアップ方法がわかりません。上記のインクルードはi686-w64-mingw32-gcc
、 で正常に実行されるコンパイラの前処理呼び出しの結果test.c
です。
c - 引数からメモリポインタを返してスプリントに適用する方法
スプリントを使用する際に問題が発生しました。ここに同様のコードがあります
スプリントは次のような警告メッセージを表示します。
関数 getMem の引数 out については、使用前に NULL ポインターを確認する必要があります。そして、メモリアドレスを返します。注釈 "/ @out@ /" は、関数内で使用されるため、最初の引数の前に置くことはできません。また、"/ @null@ /" は、out が null であり、*out ではないことを示しているだけです。私はそれに対処する方法がわかりません。誰かアドバイスをいただけますか?前もって感謝します。