問題タブ [pycparser]
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.
python - Python で定数のリストのバイト順を逆にするにはどうすればよいですか?
私は、C ソース ファイルから定数を抽出し、1 つの自動化されたプロセス (手動入力なし) でそれらのバイト オーダーを逆にする方法を探していました。これまでのところ、pycparser を使用して面倒な作業のほとんどを行うことができ、C ファイルのすべての定数をコンソールに出力するスクリプトを作成しました。印刷される形式は次のようになります: 定数: int, 0x243F6A88
私の質問は、Python でこの変換プロセスを自動化する直感的な方法を知っている人はいますか? join() でバイト順を逆にする方法は知っていますが、手動入力の量を最小限に抑える方法を考えるのに苦労しています。理想的には、私のスクリプトは定数を出力し (既に完了しています)、ある種の正規表現 (たぶん?) を使用して、0x で始まる定数を変換します (印刷される乱数はたくさんありますが、これは望ましくありません)。 )。これが理にかなっていることを願っています、ありがとう!
私がこれまでに持っているもの:
c - cbmcはcヘッダーでどのように機能しますか?
複数の関数を含む ac ファイルがあり、(gcc を使用して) 前処理されたバージョンのプログラムで z3 ソルバーを使用して cbmc を実行したい場合、ヘッダー セクションに他のファイル (c ファイル) がいくつかあります。cbmc はこれらのファイルをどのように認識しますか? 私はそれを実行しようとしましたが、彼はいくつかの変数について、それがどこにあるか宣言されていないというエラーを出しました。実際、それらはヘッダーファイルの1つで宣言されています。
誰かがこれがどのように機能するか説明できますか?
アップデート:
まず、gcc を使用してプログラムを前処理します。
次に、pycparser でプログラムを解析します
次に、計器 (4 の後に print ステートメントを追加して、x の値を確認します)
次に、インストルメント化されたバージョンのファイルで cbmc を実行したところ、次のエラーが発生しました: 関数 `sqrt' は宣言されていません