glibc

    3熱度

    2回答

    我有一個日誌類,該類包含定義爲:ofstream logfile和一個互斥鎖,以確保每次只有一個線程寫入文件(該程序是多線程的)。 類被定義爲: #define LOG_NAME "log.txt" using namespace std; class Log { private: pthread_mutex_t mutex_write; ofstream logf

    11熱度

    1回答

    我有一個問題:如果我們有一個應用程序,它不使用線程,我們可以通過兩種方式鏈接它: 1)鏈接像往常一樣,沒有-lpthread和-ldl 2 )添加到鏈接兩個庫:libpthread和libdl。 E.g. $ cat a.c int main(){printf("Hehe");} $ gcc a.c -w -o a $ gcc a.c -w -o a1 -ldl -lpthread 默認

    10熱度

    4回答

    我試圖運行一些預編譯的代碼,但我得到了以下錯誤: ./bin/stipdet: /cm/shared/apps/gcc/4.3.4/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./bin/stipdet) 我一派錯誤,看到一些人解決刪除libstdc++.so.6並添加指向usr/local/lib

    4熱度

    1回答

    請指引我通過建立一個基本的工具鏈足以建立一個可啓動的Linux映像和討論爲什麼事情應該做你的建議方式所需的步驟。 指向現有文檔也非常感謝。我從頭開始研究Linux,並且使用特定分發工具構建Gentoo映像的一些經驗。我還查看了用於爲嵌入式設備構建交叉編譯工具鏈的各種工具的文檔。 但是,這些工具的文檔僅討論編譯實際使用這些工具的工具鏈,而不是它們如何實現它,以及爲什麼不是這樣。通常這些資源還提到其他

    3熱度

    3回答

    我需要將snprintf()移植到另一個不完全支持GLibC的平臺。 我正在尋找Glibc 2.14源代碼中的基礎聲明。我遵循許多函數調用,但卡在vfprintf()上。然後它似乎調用_IO_vfprintf(),但我找不到定義。一個宏可能是混淆事物。 我需要看看掃描格式字符串的真正C代碼,並計算輸入緩衝區足夠大時它將寫入的字節數。 我也嘗試在newlib 1.19.0中查找,但是我被卡在_svf

    2熱度

    1回答

    在多線程服務器程序中,我發現常駐內存從1G增加到20G,並沒有下降。我檢查了內存工具,程序沒有內存泄漏。 所以我想glibc可能會釋放內存,沒有釋放到操作系統。我用mmap替換alloc(一般來說,每個mmap都會應用65-100k內存),期望當我調用munmap時,映射內存將返回到操作系統,但是我觀察到運行1天后程序仍然佔用20G內存? 所以我想知道:munmap肯定會返回映射內存到操作系統?

    2熱度

    1回答

    glibc documentation on process completion status指出宏WEXITSTATUS返回完成狀態的低位8字節。 宏:int WEXITSTATUS(INT狀態) 如果WIFEXITED是身份true,則此宏返回低位從子進程的退出狀態值的8位。 然而,/usr/include/sys/wait.h說: # define WEXITSTATUS(status)

    1熱度

    2回答

    在Linux下,我可以使用opendir打開一個目錄,然後使用readdir來獲取文件名。 我一直在試用scandir和思想「很好,我可以通過傳入自定義過濾器來搜索此目錄中的文件」,然後使用自定義排序方式進行排序,以便按創建日期進行排序。但後來我意識到這個直接結構是多麼有限。它只包含最少的信息。 這是唯一可能的API嗎?即我是否必須統計每個單個文件以獲取它的大小以進行排序?這是如何LS - 噸的作

    4熱度

    1回答

    將數字轉換爲字符串(以及其他方式)的安全/便攜方式是什麼? 我在Linux上,我的設置語言環境是這樣的,當我使用sprintf號碼有一個「,」而不是「。」。作爲分隔符。 有時候,我想他們的方式,有時不:) 我看到了一些解決方案,暗示與用戶設置的播放。顯然這是一個人不應該做的事情。使用uselocale snprintf : simple way to force . as radix? 有人能詳細

    0熱度

    1回答

    我試圖將fedora端口連接到mips cpu,一些軟件包如「sudo」「krb5」,以下是由配置生成的「sudo」的Makefile「-fpie」「 -pie「標誌被自動添加。 SUDO_LIBS = -laudit -lselinux -lutil -lpam -ldl -lldap $(LIBS) $(NET_LIBS) CFLAGS = -O2 -g -pipe -Wall -Wp,-D