問題タブ [search-path]

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 に答える
3115 参照

xcode - ビルド設定が必要であると言っているにもかかわらず、Xcodeがヘッダーを再帰的に検索しないことを決定するのはなぜですか?

私のプロジェクトは私の個人的なライブラリを使用しています。「ヘッダー検索パス」に「../WJLibrary/**」を含めました。これは私のライブラリへの正しい相対パスです。ただし、ビルドログによると、再帰検索は実行されていません。その結果、私が必要とするすべての種類のファイルを見つけることができません。

関連するサブディレクトリを1つずつ追加し始めると、それらの特定のサブディレクトリ内のファイルの検索が開始されます。しかし、それはプロジェクトを管理する方法ではありません。

価値があるので、私はプロジェクトのアーカイブされた古いバージョンを持っています、そしてそのバージョンでは、すべてがうまくいきます。ライブラリ内のいくつかの設定を変更していました。そして、変更の1つが何かを壊したに違いありません。しかし、私の一生の間、私はそれを引き起こした可能性があるものを理解することはできません。

これを引き起こしている可能性がありますか?

編集:問題が何であれ、古いリビジョンに更新しても役に立たないため、リポジトリにあるものではありません。

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

binary-tree - 二分探索木のパス

二分探索木では、特定の検索パスに沿っている場合、どのキーがパスの左側にあり、どのキーが右側にあると見なされますか?

たとえば、私のツリーが次の場合:

そして、私の現在の検索パスが 20->12->15->20 であるとしましょう。

1) 10 と 14 の両方がこの検索パスの左側にあると見なされますか、それとも 10 だけですか?

2) 30、28、32 の 3 つの数字はすべて、検索パスの右側にあると見なされますか?

0 投票する
0 に答える
938 参照

macos - Installing Emacs in custom directory (on OS X)

Fed up with emacs22 that came with Xcode, I set out to upgrade to emacs24. I do not want to overwrite the system defaults, and do not want to mess up with it either, so I tried to install emacs in a custom directory other than /usr/local/.

Say I set the prefix to CUSTOM_DIR/emacs-24.2. I built and installed emacs 24.2 to the CUSTOM_DIR/emacs-24.2 directory, so bin/, libexec/, share/, and var/ are all there. (Yes, I have manually checked all required files; the installation is totally complete in the custom directory.) But when I tried to run the new version of emacs, I got the following error messages:

So obviously emacs's search path was not affected despite the option --prefix=CUSTOM_DIR/emacs-24.2 I specified when running configure. How do I fix this? Is there any configuration files I need to change, or do I need to add some configuration options when configuring and building emacs? (I built emacs 24.2 from tarball.)

P.S. Please do not suggest other ways of installation. I do know how to install emacs 24, either by installing to /usr/local/, which appeared to have no problem at all; or with MacPorts or similar projects; or by directly running from the command line component found in Emacs.app binary distribution. I simply want to fix this very problem. Thanks.

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

ios - Xcodeの検索パスで二重引用符は何を意味しますか?

今夜、XcodeのGUIからではなく、Xcodeのコマンドラインビルドでのみ発生する厄介な問題が発生しました。

$ PROJROOTの再帰的なユーザーヘッダー検索パスを使用し、二重引用符を付けずにXcodeのGUIを使用してマシンから構築した場合、問題は発生しませんでした。ただし、Xcodeのコマンドラインビルド機能を使用するJenkinsでビルドすると、ヘッダーが見つからないというエラーがスローされました。

1時間の突っ込みの後、誰かが再帰的な$ PROJROOTを二重引用符( "$ PROJROOT")で囲むことを試みることにしました。これが発生すると、プロジェクトのJenkinsコマンドライン構築は最終的に成功しました。

したがって、検索パスを引用符で囲んだり、引用符を省略したりすることの影響を完全には理解していません。

誰かがこの問題を正確に引き起こしている原因に光を当てることができますか?コマンドラインとGUIからコンパイラに二重引用符は何を意味しますか?

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

linux - /bin/ld とリンクするときに gcc が使用するライブラリを変更するにはどうすればよいですか?

別のシステムから再配置された gcc のバージョンを使用して何かをコンパイルしようとしています。これには問題があることはわかっていますが、それを機能させることができれば、私の人生はずっと楽になります. /opt/transfer/lib パスを $LIBRARY_PATH に追加しました。gcc はこれを (gcc -print-search-dirs から) 見ているようです。また、/opt/transfer/lib を /etc/ld.so.conf に追加しましたが、これが不要なソリューションを大いに望んでいます。私が実行すると問題が発生します:

g++ -g -m32 chopper.o -Llibs -lRTS -o Chopper /usr/bin/ld: /usr/lib/libstdc++.so.6 /usr/ の検索時に互換性のない /usr/lib/libstdc++.so.6 をスキップしますbin/ld: /usr/lib/libstdc++.so.6 が見つかりません /usr/bin/ld: /lib/libc.so.6 /usr/bin/ld の検索時に互換性のない /lib/libc.so.6 をスキップします: /lib/libc.so.6 が見つかりません /usr/bin/ld: /usr/lib/libc_nonshared.a の検索時に互換性のない /usr/lib/libc_nonshared.a をスキップしています /usr/bin/ld: /usr が見つかりません/lib/libc_nonshared.a collect2: ld が 1 つの終了ステータスを返しました

ld は /usr/lib/ を検索してからあきらめているようです。互換性があるはずの /opt/transfer/lib/libstdc++.so.6 ファイルがありますが、リンクされていません。「gcc -print-file-name=libstdc++.so.6」を実行すると、使用したいバージョンが見つかります。この場合、ld が /usr/lib の代わりに別のディレクトリを参照するように強制する方法はありますか?

編集

nneonneo が提案したように --sysroot オプションを使用してみましたが、それが機能するかどうかは完全にはわかりません。このオプションは私のバージョンの ld では利用できなかったので、 --with-sysroot=/opt/transfer と --with-build-sysroot=/opt/transfer を使用して再コンパイルしました。次に、実行すると、出力例として次のようになります。

/opt/transfer/bin/ld: /usr/lib/libstdc++.so.6 の検索時に互換性のない /usr/lib/libstdc++.so.6 をスキップします /opt/transfer/bin/ld: /usr/lib/ が見つかりませんlibstdc++.so.6 ld が 1 つの終了ステータスを返しました

この出力から、/opt/transfer/lib および /opt/transfer/usr/lib ディレクトリを検索していることは 100% 明確ではありません。なぜなら、正しい libstdc++.so.6 ファイルがそこにあるはずだとかなり確信しているからです。 . /opt/transfer からライブラリを削除すると、他のライブラリが見つからないという不平を言い始めるので、少なくとも部分的に動作していることは明らかですが、これらの他のライブラリはすべて、libstdc++ の場合は互換性のないライブラリをスキップしていると言っているのに、見つからないというだけです。 . libstdc++ が特別なケースとして扱われている可能性はありますか? これに対処する別のオプションはありますか?

編集 2

システムの /usr/libstdc++.so.6 をバックアップの場所に移動したところ、これを実行した後、互換性のないバージョンをスキップしているとは言わなくなりました。これは間違いなく、 --sysroot がここで期待していたことを実行していないことを意味します。誰かが持っている情報があれば、それ以上の情報をいただければ幸いです。

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

r - 一時的な名前空間を検索パスにアタッチする

この質問は、この投稿のフォローアップのようなものです。コードの堅牢性に関しては、入力して目的の結果が得られることを祈るよりも、入力をnamespace::foo()習慣化する方がはるかに良いとはまだ確信していないためです。 foo()-)

実際の質問

これが「標準の R 規則」に大きく反することは承知していますが、ちょっと興味があるとだけ言っておきましょう ;-)一時的な名前空間を何らかの方法で検索パスにアタッチすることは可能ですか?


動機

mypkg私のパッケージがまだ「開発段階」にある時点で(つまり、まだ真の R パッケージではありません):

  • mypkg代わりに環境に関数をソースしたい.GlobalEnv
  • 次に、検索パスにアタッチmypkgします (可能であれば真の名前空間として)
  • 電話できるようにするためにmypkg::foo()

呼び出し::には欠点があることを完全に認識しています (単純に関数の名前を入力して R にルックアップを暗黙的に処理させるよりも時間がかかります)、および/またはa) R が検索パスをスキャンし、b )パッケージは依存関係をインポートできます (つまり、「依存」の代わりに「インポート」を使用する、特定の機能をエクスポートしないなど)。しかし、一部のパッケージが特定の (基本) 関数を上書きしたためにコードがクラッシュするのを少なくとも 2 回見たことがあります。 -)

私が試したこと

AFAIU、名前空間は原則として、特別な種類の環境にすぎません

そして、attach()オブジェクトを検索パスにアタッチする機能があります。だからここに私が考えたことがあります:

attachNamepace()で呼び出される前に、どうにかしてこれが何を期待しているかを理解する必要があると思いlibrary()ます。何か案は?


編集

:: ハドリーのコメントに関して: 私は実際には、接続された環境が完全に成長した名前空間であるか、単に「構文シュガーリング」機能を維持しながら拡張できる限り、単なる通常の環境であるかは気にしません(つまり、pkg::foo()代わりに呼び出すことができます"::"(pkg="pkg", name="foo")()) .

関数"::"は次のようになります。

pkgこれは、実際には名前空間ではなく、検索パスに接続された環境であるとR が検出した場合にも実行できるはずです。

動作しますが、構文シュガーリングはありません:

どうすれば呼び出すことができますかpkg::*foo(x=1, y=2)(関数の本当に悪い名前であるという事実を無視して::*;-))?

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

postgresql - テーブルのスキーマ名を指定するとパフォーマンスに影響しますか?

免責事項: これは最適化のためではなく、好奇心からです。

私はこれかどうか疑問に思っています:

よりもどういうわけか速い/遅い

または、すべてのクエリでスキーマを指定する (または指定しない) ことを示唆する可能性のある他の意味がある場合。

私はいくつかの (本当に少数の) テストを行いましたが、速度に関して違いは見られません。