• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:静的解析を試すから適当に送って・・・)

静的解析のために最低限の関数を準備しましたが、問題はないでしょうか?

このQ&Aのポイント
  • 請け負っているソース修正作業中のファイルで静的解析を試すため、最低限の関数を準備しました。
  • 関数の選定やコーディング規約に従って修正し、ビルドエラーと警告をなくしました。
  • ただし、現段階では解析の成功を保証することはできず、誤りがある可能性もあるため、ご確認いただきたく思います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

意図がわからない依頼ですね。 > 静的解析を試す のが目的なのか、または、依頼先(あなた)のレベルを見たいのか? 静的解析ツールの解析能力を試したいのなら、隠れたバグのあるソースや、バグにつながるようなコードがあるソースが適当。 実は、あなたのコーディングレベルを確かめたいと(依頼先が)思っているであれば、警告が出ないようなソースファイルが適当。 目的によって提出するソースコードは全く別のものになりそうです。 もっとも依頼元がそこまで考えているかどうかは疑問ですが。 ここはあなたが依頼元の意図を正しく読み取らないと、今後の請負作業量に影響を与えかねません。 気をつけることをお勧めします。 依頼元に意図を確認してることもひとつの方策ではないでしょうか。 > これでエラー、警告はなくなりましたが、果たしてこれで解析ができるのか心配です。 解析そのものはコンパイルエラーが有っても問題ありません。コンパイルエラーの原因を指摘するはずです。 逆にコンパイルエラーの原因を指摘できない解析ツールは目的を果たしていないことになります。 でも、静的解析を試すのに請負先のソースを求める請負元って、なんか変。自分のとこでソースファイルを持ってないの? そうするとやっぱり、請負先のレベル調査って疑いが濃厚。

sanato
質問者

お礼

回答ありがとうございます。 試すというのは解析能力を見るのではなく、解析ツールをこちら側(私)が所持していないので、ソースをお客側に提出→現状でどんな結果になるのか試してみてください、といった意味合いです。ツールはあちらの好みの仕様にカスタマイズしたバージョンで、最終的にそのエラーをゼロにして納品するのですが、私はその解析の仕様などの具体的な資料を持っていないのです。 とりあえず時間が来たので現状を提出すると、A4サイズで70ページあまりのエラー結果が返ってきて苦笑しました。まあ大半はインクルード先の未修正のヘッダファイルが原因だったんですが、提出前との心境を比べると、ああなるほどこれが静的解析なんだとアッサリ理解できました、あちらからのコメントもあってより理解が深まりました。 確かにまだ付き合いの浅い取引先なのでレベル調査も考えられますが、私は今年入社の新卒社員ですから、レベルなんて考えずに精進精進です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 教えてください

    初心者なので、バカな質問かもしれませんがお願いします。 警告 W8065 sample2.c 8: プロトタイプ宣言のない関数 'it' の呼び出し(関数 main ) エラー E2379 sample2.c 8: ステートメントにセミコロン(;)がない(関数 main )とはどういう意味ですか?

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    初心者なのですが下記のようにエラーによりコンパイル出来ません? どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main)

  • include無しにclassが書けない

    粗末な質問タイトルで申し訳ありません。 Visual C++2010で、includeを書かずにclass宣言を行おうとすると「Error:PCH警告」が発生します。 この理由をご教授ください。 IntelliSense: PCH 警告: 適切なヘッダー停止位置が見つかりません。 というエラーメッセージが表示されるのですが、これはプロトタイプ宣言がないときに発生する警告らしいですね。私が書こうとしているソースコードを次に示します。 -----main.cpp---- class TestClass {}; int main(void) { return (0); } ----------------- このソースで、"class"の部分に赤波線が引かれて先述のエラーメッセージが表示されます。 このソースの先頭に#include<iostream>なり#include<stdlib.h>なり何かインクルードを記述すると警告はなくなります。 しかしクラスはその枠のみですし、ライブラリ関数も何も使用していないのでとくに必要なインクルードファイルも何もないと思うのですが、どうしてこのようなエラーが発生するのでしょうか。 あと、蛇足になりますが、本来はクラス宣言部分を別のヘッダーファイルに分けたいのです。 クラス宣言部分を別のヘッダーに分離してヘッダーの先頭に #pragma once を記述するか、分離したヘッダをmain.cpp内でインクルードしてもエラーは解消されます。 (何からもインクルードされなかったらエラーになる) もう何が何やらさっぱりわからないです><

  • C++のコンパイルエラーが

    おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------

  • (警告) プロトタイプ宣言のない関数

    コンパイルで、(警告) プロトタイプ宣言のない関数 gethostbynameの呼び出し という警告が出てしまった。 ソースがどういう状況だと推測すればよいのでしょうか?

  • プログラムの初心者です。コンパイルできません。

    こんにちは。プログラムの勉強を始めたんですけど、コマンドプロンプトをつかってコンパイルしようとしたら、 エラー E2209 list0101.c 5: インクルードファイル'stdio.h'をオープンできない 警告W8065 list0101.c 9:プロトタイプ宣言のない関数'printf'の呼び出し(関数main) とかいうエラーメッセージがでます。本の通りにプログラムを書いたつもりですが、これはいったいなんなんでしょうか?今使ってるのはBorland C++です。これがC++専用なんてことがあったりするんでしょうか?何がなんだかさっぱりわかりません。 よろしくお願いします。

  • 関数の呼び出し

    エクセルの2列5行のファイルがあるとします、 このファイルの各列の平均を求める関数をheikinとします。 エクセルの2列のデータの平均を関数heikin(プロトタイプ宣言)のみでの求め方が解かりません。 また、求めた値をmain関数に返した後、別の関数(プロトタイプ宣言)でのheikinの呼び出しかたが解かりません。 各列ごとにプロトタイプ宣言を行えば求まるのですが、 どうかよろしくお願いします。

  • C#の静的コード解析ツール

    C#の静的コード解析ツールについて調査しています。 そこで一点疑問なのですが、これらのツールでは何が検知できるのでしょうか。 例えば到達不可能なコードパスや、未初期化変数の参照等、 解析ツールの紹介でよく見られる「検知できること」は、 そもそもVisual Studioがビルド時にエラーや警告として教えてくれます。 C#の静的コード解析ツールは、こういったIDEが検知するバグ以外に、 どういったものを見つけてくれるのでしょうか。 製品によって異なるということは承知していますが、 何かご存知の方いらっしゃいましたら、一例だけでも教えて頂けるとありがたいです。

  • 入力ファイルの解析

    fp=fopen(ex1.cpp,"r"); によって、開いたCソースファイルを解析してコンパイルエラーがあるかを確かめるプログラムを作成するにはどうすればいいのですか?

  • C言語のソース解析ツールありませんか

    UNIX系OSで動作するものでC言語を解析してmain()からの関数の流れを出力してくれるようなツールを探しています。 GUIはあまり期待していません、自作しようと思っていたのですが世の中にあるツールを見てからでも遅くないと思いました。 誰が作ったかわからないようなソースを維持管理することになった為、このような質問を致しました。 どうか、情報があったら教えて下さい。

このQ&Aのポイント
  • 玄関の下にあるステンレスの傷をどうにかしたいです。消すまたは目立たなくする方法はありますか?
  • ステンレスの傷を消す方法や目立たなくする方法について教えてください。
  • 玄関にあるステンレスが傷ついてしまいました。どうにかして消したり目立たなくする方法はありますか?
回答を見る