問題タブ [m4]
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++ - メタ プログラミングとランタイム コードの生成
実行時に関数の引数を生成する必要があるという要件があります。コンパイル時には、引数の数や型はわかりません。実行時にファイルから読み取り、コードを生成して動的にロードする必要があります。
以前、M4 マクロ生成言語を使用したことがあります。読みやすさと使いやすさを犠牲にして、優れたパフォーマンスを提供します。
今回はその道を行きたくなかったので、C++11 Variadic テンプレートを使用することを考えていました。
より良い代替手段はありますか?
m4 - 文字列比較とマクロ OR 条件
M4 言語で、文字列引数を 2 つの値と比較し、それらの 2 つの値のいずれかが一致する場合、X が実行され、他の Y が実行される方法はありますか?
たとえば、MACTEST マクロへの引数が 'ABC' または 'XYZ' の場合、'match' が表示され、それ以外の場合は 'nomatch' が表示されます...eval は、文字列ではなく数値引数を比較するためのもののようです..ありますか?文字列に相当するものは?
m4 - varargs を受け入れる M4 マクロを定義するにはどうすればよいですか?
可変数の引数を受け入れて各引数を処理する M4 マクロを定義するにはどうすればよいですか? 「shift」および「foreach (例から)」マクロを見てきましたが、それらを使用して独自のマクロをまとめることができないようです。助けてくれてありがとう。
macros - m4マクロで最後の引数を参照する方法
m4 マクロで与えられた引数リストの最後の引数をどのように参照しますか? 最後の引数を取得し、それに基づいてマクロ展開を生成する必要があります。
macros - マクロの引数を確認するには?
他のマクロの定義でマクロの引数を参照するには?
たとえば、FOO(abc) はマクロです。最初に FOO の引数をチェックし、「abc」の場合は 1 行に展開し、そうでない場合は別の行に展開する他のマクロ「BAR」を書きたいとします。
BAR(if FOO_arg が abc の場合) {これを行う} else {これを行う}
m4マクロを使用してどのように達成できますか?
autotools - python2 および python3 の AM_PATH_PYTHON
変数AM_PATH_PYTHON
を見つけるためにautomakeのマクロを使用しています。pythondir
これまで、引数なしで呼び出してきましたが、デフォルトは Ubuntu の python 2.7 です。python3.x
今、私も(特に3.3)のためにそれを構築したいと思います。
AM_PATH_PYTHON([3])
getを呼び出し、特定の変数を使用しpython3.3
て生成されたすべての変数を保存し、forを呼び出す方法はありますか。AC_SUBST
python3
AM_PATH_PYTHON([2])
python2
私はこれをやっています
これらすべてを行った後でも、2番目AM_PATH_PYTHON
は変数を書き換えていません。これらがマクロであることは知っていますが、これを行う方法があるはずです。Makefileが示しています
fortran - カスタム .m4 マクロが configure.ac で機能しない
.configure スクリプトを使用して簡単にインストールできるようにすることで、難解な科学 F77 プログラムを現代の世界に更新しようとしています。ただし、これは宣伝されているよりも難しいことが証明されています。私が 21 世紀に引きずり込んでいるプログラムには、SuperMongo プロット ライブラリが必要です。必要な SuperMongo ライブラリ (libplotsub.a、libdevices.a、および libplotsub.a、libdevices.a、およびlibutils.a) 親切な魂にコードの中身を見てもらうのではなく、スケルトン github リポジトリ ( https://github.com/Acetylene5/autoconf_testing ) を作成しました。
メイン プログラムは test.f で、junk.f ファイルを呼び出します。どちらのファイルにも、Stuff.com 共通ブロックが含まれています。ファイル jump.f は 2 つの関数を呼び出します。1 つ (dcopy) は LAPACK ライブラリからのもので、もう 1 つ (drawcurs) は SuperMongo プログラムからのものです。私がこれを行った理由は、私が石器時代から早送りしているこのプログラムがこれらの両方のライブラリを使用しているためです。
インターウェブで LAPACK マクロ (ax_lapack.m4) を見つけました。これは、私のシステムで LAPACK ライブラリを見つけているようです。この .m4 ファイルを ax_supermongo.m4 にコピーして、必要な名前とディレクトリを変更しようとしました。ただし、私は M4 の専門家ではないため、これが私の意図どおりに機能しているかどうかはわかりません。./configure の出力を見ると、sm_graphics ファイル (ax_supermongo.m4 によって SM ライブラリの場所に使用されるトークン supermongo ルーチン) が見つからないように見えるため、そうではないと思います。
私のシステムでは、Supermongo ライブラリは /usr/local/misc/sm/sm2_4_36/lib/ にあります。
autoconf を取得してこのディレクトリを調べる方法、またはコマンドライン変数を使用してここにディレクトリを渡す方法に関する提案はありますか?
さらに情報が必要な場合はお知らせください。
ケーシー
ocaml - ocamlfind.1.3.3 configure のインストール中にエラーが発生しました: m4 が PATH にありません。これは必須です
構成: m4 が PATH にありません。これは必須です
どうすればこれを修正できるのだろうか。
どうもありがとう!(m4フォルダーをそのパスにコピーしようとしましたが、機能していません)