29得票6回答
为什么最大负整数-2147483648的绝对值仍然是-2147483648?

abs(-2147483648) 的结果是 -2147483648,不是吗?看起来有些不可接受。 printf("abs(-2147483648): %d\n", abs(-2147483648)); 输出: abs(-2147483648): -2147483648

29得票3回答
致命信号11(SIGSEGV)代码=2在使用Genymotion模拟器而不使用NDK时发生。

我的应用程序没有使用NDK。我正在GenyMotion Nexus 7模拟器上测试它,问题很难复现,我还没有找到正确的复现方法。有时应用程序可以长时间正常工作,有时在使用约30秒后就会崩溃并自动重启。编辑:我不确定但似乎只在Genymotion模拟器上发生,而不是普通的Android模拟器(我...

27得票2回答
到无穷远又回来:IT技术中的一个问题

有一些数学运算可以从+/-无穷大中产生实数。例如,exp(-infinity) = 0。在标准的C库中是否有接受IEEE-754无限制(不会抛出异常或返回NaN)的数学函数标准?我在Linux系统上,并且对于glibc的此类列表感兴趣。我在他们的在线手册中没有找到这样的列表。例如,他们关于ex...

26得票4回答
替换极慢的pow()函数

我们有一个CFD求解器,运行模拟时发现在某些机器上运行特别慢,但在其他机器上没有这个问题。使用Intel VTune,发现以下代码行是问题所在(Fortran语言):RHOV= RHO_INF*((1.0_wp - COEFF*EXP(F0)))**(1.0_wp/(GAMM - 1.0_wp...

26得票5回答
C标准库函数名中的"f"代表什么?

在C标准库函数的名称中,f代表什么意思?我注意到许多函数的名称中都有f,但对我来说这并没有太多意义。 例如: fgets、fopen、printf、scanf、sqrtf等。

26得票8回答
嵌入式系统的小型libc

我正在寻找一款适用于ARM7微控制器上的嵌入式小型libc,结合freertos使用。 我已经看过了newlib,但它对我的需求来说有些过于复杂。Newlib在许多函数(如printf())中调用malloc(),这对于小型嵌入式实时系统来说并不好。 是否有人知道一款小巧、可移植、开源的lib...

25得票2回答
libc_nonshared.a的目的是什么?

为什么会存在libc_nonshared.a这个库文件?它有什么作用?我在网上没有找到一个好的答案来解释它的存在。 据我所知,该文件提供了一些函数(比如stat、lstat、fstat、atexit等)。如果有人在代码中使用了其中的一个函数,那么这个函数就会从这个归档文件中链接到最终的可执行文...

24得票2回答
为什么strtof和strtod函数的endptr参数是一个非const char指针类型的指针?

标准 C 库函数 strtof 和 strtod 的签名如下:float strtof(const char *str, char **endptr); double strtod(const char *str, char **endptr); 它们每个函数都将输入字符串str分解为三个部...

23得票3回答
malloc/free是由libc提供的库例程还是系统调用(syscall)?

如果在libc中以库例程的形式实现malloc/free函数,那么它是基于sbrk系统调用还是mmap系统调用,还是其他什么方式实现的? 并且一般来说,sys/syscall.h中声明的函数是否包含目标机器上所有的系统调用?

23得票4回答
Clang使用哪个标准C库?是glibc、自己的还是其他的?

我相信glibc是gcc标准C库实现的名称。 但对于LLVM / Clang,我不确定。 我尝试使用Google搜索来查找它是否带有自己的整个标准C库的实现,或者它们是否也使用glibc。 令人惊讶的是,我能找到的只有一篇最近的文章,讨论了Google正在考虑为LLVM编写新的libc,但没有...