小编wad*_*wad的帖子

我如何在C中打印到stderr?

在C中,使用printffrom 来打印到标准输出很容易stdio.h.

但是,如何打印到stderr?我们可以fprintf用来实现它,但它的语法似乎很奇怪.也许我们可以printf用来打印到stderr?

c printf stderr

97
推荐指数
5
解决办法
18万
查看次数

为什么 Makefile 中的 basename 不能按预期工作?

TESTS=test/hello.c
try:
        @for t in $(TESTS); do echo $(basename $$t); done
Run Code Online (Sandbox Code Playgroud)

运行“make”我得到

~ make
test/hello.c
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我期望获得基本名称“hello.c”。有什么解释吗?谢谢。

makefile

6
推荐指数
1
解决办法
1864
查看次数

在C中捕获浮点溢出

我试图在C中捕获浮点溢出.这是我尝试过的

#define _GNU_SOURCE

#include <fenv.h>
#include <signal.h>
#include <stdio.h>

void catch_overflow (int sig) {   
  printf ("caught division by zero\n");   
  signal (sig, catch_overflow); 
}


int main(void) {   
  feenableexcept(FE_DIVBYZERO);   
  signal (FE_DIVBYZERO, catch_overflow);


  float a = 1., b = 0.;   float c = a/b;   return 0; }
Run Code Online (Sandbox Code Playgroud)

我希望看到"被零删除"消息,但我只得到一个核心转储消息,"浮点异常(核心转储)".我怎么能修改程序以获得"被零除"的消息?

谢谢.

c floating-point exception-handling

6
推荐指数
1
解决办法
551
查看次数

如何确定LLVM版本?

嗨,我刚刚使用以下命令下载了LLVM

svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm 
Run Code Online (Sandbox Code Playgroud)

如何确定该LLVM的版本(4.0、3.9或3.8等)?

command-line llvm

4
推荐指数
2
解决办法
6189
查看次数

汇编文件、目标文件和二进制文件之间有什么区别?

我正在使用 Clang 编译器,并且总是对汇编文件 (.s) 、目标文件 (.o) 和二进制文件 (.bc) 感到困惑。谁能解释一下他们的区别?

compilation llvm clang

3
推荐指数
1
解决办法
4465
查看次数

为什么在C++中不允许连接两个const char*?

我尝试了以下,这是行不通的.为什么?

std::string s = "hello" + "world"; 
Run Code Online (Sandbox Code Playgroud)

为什么C++标准库开发人员决定不重载operator+以实现char*连接?它会不会让人们的生活变得更简单?

c++ string

1
推荐指数
1
解决办法
723
查看次数