
classファイルを逆コンパイル(jadを使用)して内容の比較を試みたのですが、
片方はテキトウな変数名になっていて、
String s1 = "0";
片方は実際にソースに書かれたと思われる変数名になっています。
String nflg = "0";
これは、javacのバージョンの違い、もしくは -targetオプションの指定の
違いによるものなのでしょうか。
実際は等価な内容であるのにも関わらず、テキスト比較ではうまく比較できなくて悩んでいます。このような場合に、うまく比較する方法はありますか?
もし、コンパイルに使用されたjavacのバージョンの違いによるものならば、
片方だけはソースがあるので、バージョンを合わせ再コンパイル→逆コンパイル→比較
ということができそうだと思っていますが、classファイルから、コンパイルに
使用されたされたjavacのバージョンを取得することはできるのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
javacのバージョンをコンパイルされたクラスから取得する方法はないと思われます。
変数名ですが、コンパイラの最適化によりローカル変数の場合は
情報が失われるため適当につけられます。
メンバー変数であれば情報は保持されるため
保持された変数名が使用されます。
ご回答ありがとうございます。
クラスファイルからはバージョンは取得できなさそうですね。
例示させていただいたのは、同じ位置で宣言されている
ローカル変数同志ですが、何故違いが生じるのでしょうか。-targetによるものかと違いかと思い、何通りか
試しましたが、全て同じバイナリになってしまいました。
(バージョン依存の処理がないからかもしれませんが)。
また、片方は
for(..){
if(xxx){
yyyy();
}else{
zzzz();
}
}
となって、もう一方は
for(..){
if(xxx){
yyyy();
continue;
}
if(!xxx){
zzzz();
}
}
となったりもします。
処理そのものが等価であるかを比較したいのに、
このような違いが出てくるので純粋な差異がわかり
にくくて困ってしまいます。ファイルが小さければ
問題ないのですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- C言語・C++・C# Cのコンパイルでコメントアウトをそのままオブジェクトに保持したい 7 2023/08/01 22:22
- 英語 "beside"と比較級の共起の可否について 5 2022/11/15 09:51
- その他(ソフトウェア) ホームページ制作ソフト 3 2022/08/27 07:30
- 日本語 「名詞+的」で「形容動詞」? 9 2023/01/26 18:30
- ホテル・旅館 皆様にお聞きしたいのですが、宿泊と体験を合わせた販売する予定なのですが、 比較する際、全く違う体験型 2 2022/04/04 17:15
- システム 「パソコンA」から「パソコンB」にインターネット経由で ファイルを送りたいとき 4 2023/01/11 14:14
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- Perl ExcelVbaファイルを.xls から .xlsm に変更したときの日付の変化に対応する方法。 2 2022/08/15 16:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
jadによるclassファイルの逆コ...
-
Javaのコンパイル結果が表示さ...
-
eclipseの構文エラーについて
-
シンボルを解決できません(初...
-
javaが文字コードの影響でコン...
-
antでコンパイルするとき
-
TeXで図を挿入できません.助け...
-
javaの簡単なソースがコンパイ...
-
Classファイル → Javaソース...
-
サクラエディタでjavaのプログ...
-
Beanクラスのimportについて
-
TOMCAT_HOMEって?
-
Eclipse3.5EEでJavaのコンパイ...
-
Eclipseで、プロジェクト名のと...
-
classファイルについて
-
正しいURL指定しているにもかか...
-
Javascriptの値をJava(JSP)へ渡...
-
「ワークスペースをビルド中」...
-
Eclipse(JAVA)のデバッグで他...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
javaが文字コードの影響でコン...
-
IIS環境でJAVAを使用したい
-
javax.servlet は存在しません...
-
__gcクラスから、__nogcクラス...
-
eclipseの構文エラーについて
-
Javaのコンパイル結果が表示さ...
-
日本語対応 逆コンパイラについて
-
サクラエディタでjavaのプログ...
-
コンパイルができないのですが...
-
Eclipse3.5EEでJavaのコンパイ...
-
javaの簡単なソースがコンパイ...
-
逆コンパイルの見方について
-
eclipseの設定のJREとコンパイ...
-
TOMCAT_HOMEって?
-
Strutsのエラー?それともサー...
-
TeXで図を挿入できません.助け...
-
warファイルを展開するとタイム...
-
文字化けについての質問
-
「シンボルを見つけられません...
おすすめ情報