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程序。