libc

    0熱度

    3回答

    我想掛鉤到mmap和munmap,通常在內存分配器函數中調用libc內部。一種方法是LD_PRELOAD - 無論如何要做到這一點編程?請注意,我想鉤住libc中的mmap/munmap,而不是來自我的應用程序。

    0熱度

    2回答

    我想調試printf函數,所以當我踏上printf函數內(gdb調試器),它表明我這個: __printf (format=0x80484d0 " my name is Adam") at printf.c:28 28 printf.c: No such file or directory. 這樣做有什麼意義呢? 而當我再次開始步驟時,還有更多像這樣的陳述。 請幫我理解這一點。

    0熱度

    1回答

    我想使用新的SCHED_DEADLINE調度策略since Linux 3.14編寫一個程序。 我從一個簡單的程序開始嘗試使用sched_setattr函數。 #include <sched.h> int main(void) { // struct sched_attr attr; // attr.size = sizeof(struct sched_attr);

    0熱度

    1回答

    我想添加一些自定義代碼到我們的內部libc相關的atexit處理。 在我們的libc中,我們定義了這個,因爲我們鏈接到自定義的CRT文件,並且不使用定義它的GCC。 void *__dso_handle __attribute__((__visibility__("hidden"),__weak__)) = &__dso_handle; GCC還在鏈接它們時將其添加到二進制文件中。 在libc

    1熱度

    1回答

    我想對Linux/BSD上的C代碼進行一些分析,以查看正在使用的庫函數的頻率。所以基本上我想編譯代碼,並在編譯步驟之後以某種方式打印出此代碼使用的所有函數。例如:「chown,mmap等等」。我想在幾千個開源應用程序上運行這個程序,以便尋找自動化。 有沒有辦法做到這一點? 注意。像strace或ptrace這樣的動態工具對我來說是行不通的,因爲我無法運行所有的應用程序,即使我這樣做了,我也許無法通

    1熱度

    1回答

    是否有將libc庫包含在Lazarus或Free Pascal編譯的二進制文件中的方法?我不想使用共享庫,因爲如果我用更新版本的Libc編譯我的應用程序,例如,它不適用於較舊的Linux。 我想這是因爲在終端顯示以下錯誤,當我在舊的Linux版本上運行我的應用程序: ./app:/lib64/libc.so.6:版本`GLIBC_2.14 '找不到(需要 ./app) 謝謝。

    0熱度

    2回答

    我想從標準輸入中得到一行。據我所知,我們不應該使用獲取在獲取手冊頁中說的: 不要使用gets()。因爲不知道 是什麼數據,所以事先知道有多少個字符會被讀取(),而 因爲gets()會繼續存儲超過 緩衝區末尾的字符,所以使用它是非常危險的。它已經被用於破解計算機安全的 。使用fgets()代替。 它表明我們可以使用fgets()來代替。 fgets()的問題在於我們並不知道用戶輸入的大小,並且fge

    0熱度

    1回答

    我想了解裸機C應用程序如何正確工作。我寫了自己的啓動彙編代碼,調用__libc_init_array,我看到它迭代了preinit_array部分並調用了其中的所有函數。據我所知GCC增加了需要之前主要運行一些自己的初始化程序段,但隨後進來的.init部分_init()功能。 是否GCC生成功能?它來自libc嗎?或者我必須自己提供一個嗎?有什麼好的資源來學習這些東西?

    0熱度

    1回答

    差不多在標題中: 平行來電fstat,lstat或stat通過Linux上的打開文件限制的限制? 問題大概可以歸結爲,是否這些調用(fstat,lstat,stat)會以任何方式在內部使用一個文件描述符,如果我解釋問題的答案Is the value of a Linux file descriptor always smaller than the open file limits?正確。

    0熱度

    1回答

    我想獲取os x系統中進程信息的快照。 'NSProcessInfo'只能獲取調用進程的信息。 PS CMD可以是一個解決方案,但我想要一個C或Objective-C程序。