問題タブ [libc]

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 投票する
4 に答える
9701 参照

linux - glibc の Async-Signal-Safe 関数のリストが必要です

syscall のラッパーではないが、snprintf()、dprintf() のようなもの

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

c - 共有ライブラリを別のバージョンの libc に再リンクする

特定のバージョンの libc (GLIBC2.4) でコンパイルされた Linux 共有ライブラリ (.so) があり、別のバージョンの libc を使用するシステムでそれを使用する必要があります。問題のライブラリのソースがないため、新しいシステム用に再コンパイルできません。そのライブラリの依存関係を別の libc に変更することは何とか可能ですか?

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

javascript - JNA、Rhino、JavaScriptを使用したcharバッファの割り当て

イッカクでは、JNAを使用してやlibcのような呼び出しを行っています。これは、プリミティブのみを扱うRhinoのJavaScriptに関連するため、JNAインターフェイスに関する限られた知識でしか使用できませんでした。charバッファを割り当てて、そのバッファからJavaScript文字列を取得し、おそらく句でバッファの割り当てを解除できるようにする方法を知る必要があります。getcwdchdirgetcwdfinally

libcインターフェイスを取得する方法は次のとおりです。

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L32-42

chdir実装方法は次のとおりです。

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L438-444

ここにソリューションが必要ですgetcwd

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L416-419

RubyまたはJNA用の他の組み込み言語のソリューションが役立ちます。

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

qt - qtconcurrentで生成され、QTime:currentTimeを呼び出す例外

Qtconcurrent::runで作成されたスレッドでのみ例外が生成されているようです

メインスレッドと他の3つのスレッド(2つのQThreadsと1つはQtConcurrent :: run()で作成)によって呼び出されるFPSengine :: getData()という名前のメソッドを持つFPSengineという名前のクラスがあります。FPSengine :: getData()の内部でQTime :: currentTime()を呼び出します。メインスレッドまたはQThreadsの1つからFPSengine::getData()を呼び出すと問題は発生しませんが、Qtconcurrent :: run()で作成されたスレッドからFPSengine :: getData()を呼び出すと例外が発生することがあります。QtconcurrentまたはQTime:currentTime()、あるいはtzset(gdbスタックが示すものからQTime :: currentTimeによって呼び出される)に何か問題がありますか?または、私のコードに何か問題がありますか。失敗したスレッドのスタック情報は次のとおりです
。0raise /lib/libc.so.60
1 abort /lib/libc.so.6 0
2 ?? /lib/libc.so.6 0
3 ?? /lib/libc.so.604
無料/lib/libc.so.605
?? /lib/libc.so.6 0
6 tzset /lib/libc.so.6 0
7 QTime :: currentTime()/usr/lib/libQtCore.so.4 0
8 FPSengine :: xmitData FPSengine2.cpp 93
9 FPSengine: :getData FPSengine2.cpp 21
10 threadDatalog :: run threaddatalog.cpp 109
11 ?? /usr/lib/libQtCore.so.4 0
12 start_thread /lib/libpthread.so.0 0
13 clone /lib/libc.so.6 0 14 ?? 0

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

android - Androidのlibcバージョンとmallocの実装

Androidプラットフォームで使用されているlibcの実装は何ですか?どのmalloc実装が使用されていますか(ptmallocまたはtcmallocまたはその他)?

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

android - bionic(android libc)ミューテックスバリアント

bionic libcはどのタイプのミューテックスをサポートしていますか?

  • 再帰的
  • 時限
  • アダプティブ
  • エラーチェック
0 投票する
1 に答える
4587 参照

visual-c++ - ランタイムライブラリの不一致とVC++-ああ、悲惨です!

さまざまなライブラリがランタイムライブラリのどのバージョンを使用するかについて合意していないため、VC ++リンカーが不平を言ったり、口を閉ざしたりすることで、私は大人の人生のすべてに苦しんでいるようです。私はその悲惨な主題をマスターする気分には決してなりません。だから私はそれがうまくいくまでそれをいじろうとします。エラーメッセージは決して役に立ちません。この件に関するMicrosoftのドキュメントもそうではありません-少なくとも私にとってはそうではありません。

時々それは関数を見つけられません-名前マングリングが期待されたものではないので?時々それは混ぜ合わせることを拒否します。また、「LINK:警告LNK4098:defaultlib'LIBCMTD'は他のライブラリの使用と競合します。/NODEFAULTLIB:libraryを使用してください」と だけ表示されることもあります。/NODEFAULTLIBの使用は機能しませんが、警告は無害のようです。とにかく「DEFAULTLIB」とは一体何ですか?リンカーはどのように決定しますか?どのランタイムライブラリを使用するかをリンカに指定する方法を見たことがありません。関数呼び出しを作成するライブラリをコンパイラに指示する方法だけです。

オブジェクトファイルを検査して、それらが依存しているDLLを確認できる「依存関係ウォーカー」プログラムがあります。構築しようとしているプロジェクトで1つ実行しただけですが、これは非常に混乱しています。競合するランタイムバージョンが必要なシステム.libsと.dllがあります。たとえば、COMCTL32.DLLはMSVCRT.DLLを必要としていますが、MSVCRTD.DLLとリンクしています。入力しているときでも、COMCTL32D.DLLがあるかどうかを検索しています。

だから私が求めているのは、それらを整理する方法のチュートリアルだと思います。あなたは何をしますか、そしてどのようにそれをしますか?

これが私が知っていると思うことです。これのいずれかが間違っている場合は私を訂正してください。

  1. パラメータは、デバッグ/リリース、マルチスレッド/シングルスレッド、および静的/DLLです。8つの可能な組み合わせのうち6つだけがカバーされています。デバッグでもリリースでも、シングルスレッドのDLLはありません。

  2. 設定は、リンクされるランタイムライブラリ(およびそれにリンクするための呼び出し規約)にのみ影響します。たとえば、DLLをビルドする場合は、DLLベースのランタイムを使用する必要はありません。また、プログラムのデバッグバージョンをビルドするときにランタイムのデバッグバージョンを使用する必要もありません。過去のシステムコールをステップ実行します。

ボーナスの質問:誰かまたはどの会社もそのような混乱をどのように作り出すことができますか?

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

c - x86_64/linux で glibc よりも高速な数学ライブラリ?

より高速な x86_64-linux 用の glibc の libm (およびヘッダー?) のドロップイン代替品はありますか?

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

linux - libc がスタック Cookie 値を __stack_chk_guard 以外の場所に保存するのはどのプラットフォームですか?

たとえば、Linux/i386 の glibc は Cookie を に保存し%gs:0x14ます。__stack_chk_guardCookie を見つけるためにシンボル以外の場所を探す必要がある他のプラットフォームはありますか?

(これは、 でgcc -fstack-protector生成されたコードが関数のプロローグでスタックに格納する値であり、スタックの破壊を防ぐために戻る前にチェックします)。

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

c - libc なしでコンパイルする

(g)libc を使用せずに C コードをコンパイルしたいと考えています。どうすれば非アクティブ化でき、どの機能がそれに依存していますか?

-nostdlib を試しましたが、役に立ちません。コードはコンパイル可能で実行可能ですが、実行可能ファイルの 16 進ダンプで libc の名前を見つけることができます。