問題タブ [compilation]

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.

0 投票する
2 に答える
1519 参照

python - 共有ホスティングにPython PILをインストール

共有ホスティング プロバイダーに django アプリをデプロイします。自宅に独自のpythonをインストールしましたが、正常に動作します。私の問題は、PIL のインストールに伴います。コンパイル プロセス後の JPEG はサポートされていません。

コンパイラが「libjpeg」を見つけられないことを知っているので、自宅にインストールしようとしました.tar.gzをダウンロードしてコンパイルします

my.bashrc ファイルにパスを入れた後。

結局、私はPILを再コンパイルしましたが、まだjpegをサポートしていません。

ライブラリを共有ホスト環境にインストールすることは可能ですか? どうすればいいですか?

0 投票する
1 に答える
453 参照

c - AIX でのビルドとパッケージ化のベスト プラクティス

AIX で C アプリケーションをビルドおよびパッケージ化するためのベスト プラクティス ガイドがどこにあるか知っている人はいますか?

xlc コンパイラと make を使用しています。

ありがとう

0 投票する
6 に答える
11564 参照

java - Java 5 および Java 6 用のオンザフライのインメモリ Java コード コンパイル

Java 5 および Java 6 で (メモリ内の) 任意の文字列から Java コードをコンパイルし、それをロードして、(事前定義された) 特定のメソッドを実行するにはどうすればよいですか?

これを炎上させる前に、既存の実装を調べました。

  • ほとんどは Java 6 Compiler API に依存しています。
  • そうでないものは、トリックに依存します。
  • はい、commons-jci を確認しました。それがどのように機能するかを理解するには密度が高すぎるか、単に理解していないかのどちらかです。
  • 現在のクラスパスをコンパイラに供給する方法が見つかりませんでした (これは非常に巨大です)。
  • (Java 6 で) 機能した実装では、内部クラス (または内部匿名クラス) を正しくロードする方法が見つかりませんでした。
  • 複数の環境で実行されるため、全体がメモリ内にあると非常に気に入っています。

これは以前に解決されたと確信していますが、Googleで半製品の品質でさえ見えるものを見つけることができません(前に言ったように、私は使用できなかったjciを除いて)。

編集:

  • 私は JavaAssist を調べました - 内部クラス、Java 5.0 言語レベルのサポート、およびクラスパス全体でのコンパイルが必要です。また、その場で新しいクラスを作成したいと思います。私は間違っているかもしれませんが、JavaAssit でこれを行う方法が見つかりませんでした。
  • ファイルシステムベースのソリューション(javacを呼び出す)を使用したいと思っていますが、クラスパスを推測する方法も、後でファイル(クラスパスにない)を特別なクラスローダーでロードする方法もわかりません。複数の呼び出しのためにリサイクルされます。私はそれを調査する方法を知っていますが、私は準備ができている解決策を好みます.

Edit2: 今のところ、BeanShell の「評価」に満足しています。どうやら、必要なことはすべて実行します (文字列を取得し、「現在の」クラスパスのコンテキストで評価します。Java 5 機能の一部が欠けていますが、列挙型 (定義ではなく) とコンパイル済みの「ジェネリック」 (消去された) を使用できます)。 )クラスなので、私が望むものには十分なはずです。

より良い解決策が出てくることを望んでいるので、まだ回答を承認済みとしてマークしたくありません。

Edit3: beanshell の提案を受け入れました - 本当に素晴らしく動作します。

0 投票する
10 に答える
9045 参照

c# - C# コンパイラがメソッド呼び出しをインライン化したかどうかを確認できますか?

ピクセルごとの衝突チェックを行う XNA ゲームを作成しています。これをチェックするループは、int とビットごとの ORing をシフトすることによってチェックしますが、一般的に読みにくく、理解するのが困難です。

private bool IsTransparent(int pixelColorValue)ループを読みやすくするためにプライベート メソッドを追加したいのですが、これはパフォーマンスに非常に敏感なコードであるため、メソッド呼び出しのオーバーヘッドは望ましくありません。

コンパイラにこの呼び出しを強制的にインライン化する方法はありますか?それとも、コンパイラがこの最適化を行うことを願っていますか?

これを強制する方法がない場合、逆アセンブリを読む以外に、メソッドがインライン化されているかどうかを確認する方法はありますか? メソッドがインライン化されていて、他の呼び出し元が存在しない場合、メソッドはリフレクションに表示されますか?

編集:強制できないので、検出できますか?

0 投票する
5 に答える
12686 参照

java - JDK全体をインストールせずにWindowsでJavaコードをコンパイルするにはどうすればよいですか?

ランタイム環境 (バージョン 1.6.0_01-b06) が既に配置されているとしますが、この特定の PC には管理者権限がないため、JDK をインストールできません。では、インストールを必要としない Windows 用のポータブル JDK またはスタンドアロン Java コンパイラはありますか?

0 投票する
2 に答える
131 参照

c# - VS C# コンパイラが参照の参照をコンパイルしない場合、どのようなシナリオが考えられますか?

私はおそらくこの質問を間違っています (それが Google が役に立たない理由かもしれません) が、次のようになります。

Visual Studio で、プロジェクト B への参照を持つ C# プロジェクト (プロジェクト A、スタートアップ プロジェクトと呼びましょう) をコンパイルしています。プロジェクト B にはプロジェクト C への参照があるため、A がビルドされると、B の dll が配置されます。 C の dll と同様に、A の bin ディレクトリにあります (B には C が必要で、A には B が必要なため)。ただし、ソリューションを再構築するときに、プロジェクト C の dll がプロジェクト A の bin ディレクトリに入らないように、最近変更を加えたようです。これを実現するために何をしたかわかりません。

ソリューション自体の設定は変更しておらず、プロジェクト ファイルへの参照を追加しただけです。コード的には、プロジェクト C のクラスを参照するプロジェクト B の実際のコードのほとんどをコメント アウトしましたが、プロジェクト自体から参照を削除しませんでした (これは問題ではないと思います)。おそらく C# コンパイラがプロジェクト C をビルドしないように何らかの最適化を行っているとのことでしたが、本当に考えが尽きました。誰かが以前に似たようなことに遭遇したと思います

何かご意見は?ありがとう!

0 投票する
3 に答える
1129 参照

visual-studio - リリース モードでのコンパイルの問題 --VC++

プロジェクトを VC++ のリリース モードでコンパイルしています。setLog を宣言した .def ファイルがあり、次のエラーが発生しています

リンク中... ライブラリ Release/HKL.lib およびオブジェクト Release/HKL.exp を作成しています HKL_libinterface.obj: エラー LNK2001: 未解決の外部シンボル _SCTP_setLog@8

上記の問題を解決するために私を助けてください。

ありがとう

0 投票する
2 に答える
152 参照

c# - デバッグシンボルをnoneに変更すると、VSコンパイル済みプロジェクトのパフォーマンスが向上しますか?

デバッグシンボルをnoneに変更すると、VSコンパイル済みプロジェクトのパフォーマンスが向上しますか?

リリースモードのデフォルトは「pdb-only」です。

なしに変更した場合、悪影響はありますか?

0 投票する
4 に答える
2140 参照

c++ - クラス定義を宣言から自動的に分離しますか?

次のように、ヘッダー ファイルのテンプレート化されたクラスと関数でほぼ完全に構成されるライブラリを使用しています。

これらのヘッダー ファイルの 1 つをインクルードするたびにコンパイル時間が耐えられないため、これは悪いことです (実際には、各コンパイル ユニットにそれらの多くをインクルードします)。

テンプレート パラメーターとして 1 つまたは 2 つの型しか使用しないため、ライブラリ ヘッダー ファイルごとに、次のような重いコードを含まない宣言のみを含むファイルを作成する予定です。

そして、必要なすべてのインスタンス化を作成する 1 つのファイル。そのファイルは、一度だけ個別にコンパイルできます。

これで、コードにインクルードするだけfwd-foo.hで、コンパイル時間を短縮できます。最後にリンクしますfoo.o

もちろん、欠点は、これらの新しいファイルを自分fwd-foo.hで作成する必要があることです。foo.cppもちろん、これは保守の問題です。新しいライブラリ バージョンがリリースされた場合、それらをその新しいバージョンに適応させる必要があります。他に欠点はありますか?

そして、私の主な質問は次のとおりです。

これらの新しいファイルを、特に元のファイルからfwd-foo.h自動的作成できる可能性はありますfoo.hか? 多くのライブラリヘッダーファイル(おそらく20程度)に対してこれを行う必要があり、特に新しいライブラリバージョンがリリースされ、新しいバージョンでこれを再度行う必要がある場合は、自動ソリューションが最適です。このタスクに使用できるツールはありますか?

編集:

extern追加の質問:この場合、新しくサポートされたキーワードはどのように役立ちますか?