問題タブ [glibc]
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.
linux - nftw(FTW_CHDIR) でのファイル記述子のリーク?
nftw()
ディレクトリ構造をトラバースするために POSIX 呼び出しを使用しています。ディレクトリ構造はフラットで、4 つのファイルのみで、サブディレクトリはありません。
ただし、このフラット ディレクトリで nftw() を何度も呼び出すと、しばらくするとエラー メッセージが表示されます。
これは、フラグを使用すると発生することが判明しましたFTW_CHDIR
。
nftw() の Linux 実装のバグであることに同意しますか?
アップデート
修正が glibc リポジトリで利用できるようになりました。
テストに使用したソースコードへのリンクを次に示します。
- main.cpp: http://sourceware.org/bugzilla/attachment.cgi?id=4586&action=view
- Makefile: http://sourceware.org/bugzilla/attachment.cgi?id=4587&action=view
アップデート
- MacOS-Xもバグに見舞われる
- Solaris9、Solaris10、AIX 5.3 にはこのバグはありません
c++ - glibcがエラーを検出しました
誰かがこのエラーメッセージを理解するのを手伝ってくれませんか?
この線は特に何を示していますか?
また、gdbでコアダンプを見ると、次のメッセージが表示されます。
gdbでコマンド「frame15」を入力すると、次のようになります。
誰かが私がこれを理解するのを手伝ってくれますか?
たくさんの人に感謝します。
multithreading - 「glibc が二重解放または破損 (fasttop) を検出しました:」を回避するために、qthread とメインスレッドの両方で QObject を使用するにはどうすればよいですか?
udp ソケットを使用してデータグラムをループで読み書きする qthread があります。QUDPSocket はメインスレッドで作成されます。QThread とメインスレッドの両方で使用する QObjects を処理するにはどうすればよいですか。また、メインスレッドで UDP ソケットを使用し、それを qthread で使用しても問題ありませんか?
pthreads - pthread_cleanup_pop_restore - それは何ですか?
pthread_cleanup_pop_restore - それは何ですか?
glibc からです。また、頻繁に呼び出され、多くの CPU 時間を消費します。
プログラムは getc() 呼び出しを多く使用します。プログラムを変更することはできませんが (固定ソースのベンチマークです)、より高速に実行したいと考えています。
linux - glibc を qt と静的にリンクするにはどうすればよいですか
qt の静的バージョンをビルドし、glibc の静的バージョンをダウンロードしました。ここで、glibc を qt アプリケーションに静的にリンクしたいと考えています。私は .pro に入り、行 LIBS += -L path/to/static_lib を追加することを知っていますが、これらで十分かどうか疑問に思っていますか? 私が構築しているOSに動的ライブラリもありますが、glibcを静的にリンクしますか? これを行っている理由は、アプリケーションをスタンドアロンでデプロイするためです。(Red Hat 5.3 をインストールして更新した後、glibc_2.9 がターゲット コンピューターで見つかりませんでした)
qt - qt 4.6 アプリケーションで実行できる最も古い glib バージョンは何ですか?
qtライブラリに静的にリンクされたqtアプリケーションを構築した後、スタンドアロンのqtアプリケーション(ubuntuで構築され、Red Hat 5.3で展開された、両方とも64ビット)を構築しようとしています。Red Hatでプログラムを実行しようとしたところ、エラーが発生しましたlibc.so.6 が見つからず、GLIBC_2.9 または GLIBC_2.10 がインストールされておらず、必要ではないことを示しています。yum install glibc を実行しようとしましたが、glibc が最新であるというメッセージが表示されます (バージョンは 2.5 だと思います)。ビルド プロセスを再開しようと思いますが、今回は Red Hat インストールからです。この場合、私は何をすべきか教えてください。私の目標は、Red Hat 5 でのみ実行する必要があるスタンドアロンの qt アプリケーションを構築することです (fontconfig.so にも問題があると確信していますが、このライブラリをアプリと同じディレクトリに直接提供するだけです)。
c - libc なしでコンパイルする
(g)libc を使用せずに C コードをコンパイルしたいと考えています。どうすれば非アクティブ化でき、どの機能がそれに依存していますか?
-nostdlib を試しましたが、役に立ちません。コードはコンパイル可能で実行可能ですが、実行可能ファイルの 16 進ダンプで libc の名前を見つけることができます。
malloc - バイナリプログラムのmtrace(MALLOC_TRACE)を有効にする
ソースのないバイナリプログラムに対してmtrace()
(およびenv)を有効にするにはどうすればよいですか?MALLOC_TRACE
mtraceはglibcの機能です:http ://www.gnu.org/s/hello/manual/libc/Allocation-Debugging.html
ありがとう
glibc - mtrace+MALLOC_TRACE-バッファリングを無効にする
バッファリングを無効にしmtrace
て、名前の付いたファイルを出力するにはどうすればよいですMALLOC_TRACE
か?
mtraceは次のように開始されます。
c++ - ダイナミックライブラリとメインプログラムの静的クラス変数
静的なstlコンテナクラスを含むクラス「A」を持つプロジェクトに取り組んでいます。このクラスは、私のメインプログラムと.soファイルの両方に含まれています。このクラスは、デフォルト(暗黙的、宣言されていない)コンストラクタ/デストラクタを使用します。メインプログラムは、dlopen()を使用して.soファイルをロードし、そのデストラクタでdlclose()を呼び出します。glibcが静的クラスメンバー変数のデストラクタを呼び出すと、メインが終了した後にプログラムがクラッシュします。問題は、dlclose()が呼び出されると、静的変数のデストラクタが呼び出され、次にmain exits()がデストラクタも呼び出すと、ダブルフリーが発生することです。
2つの質問があります
。1)この特定のケースでは、静的変数のコピーが2つないのはなぜですか(はい、それはややばかげているように聞こえますが、メインプログラムと.soファイルの両方に別々にコンパイルされた「A」があるためです、それぞれに1つあるべきではありませんか?)
2)静的メンバー変数を含まないようにクラス「A」を書き直さずにこの問題を解決する方法はありますか?