小编pyt*_*nic的帖子

如何让clang编译成llvm IR

我希望clang将我的C/C++代码编译为LLVM字节码而不是二进制可执行文件.我怎样才能做到这一点?如果我得到LLVM字节码,我怎么能把它进一步编译成二进制可执行文件.

基本上我想LLVM在编译成二进制可执行文件之前将一些自己的代码添加到字节码中.

c llvm clang

135
推荐指数
5
解决办法
8万
查看次数

如何使用Clang编译C++?

我在Ubuntu中使用apt-get 安装了Clang,我可以使用它成功编译C文件.但是,我不知道如何通过它编译C++.编译C++需要做什么?

c++ clang

86
推荐指数
5
解决办法
10万
查看次数

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

objdump如何发出英特尔语法

如何判断objdump以英特尔语法而不是默认的AT&T语法发出汇编?

linux assembly x86-64 objdump

57
推荐指数
2
解决办法
3万
查看次数

malloc如何在多线程环境中工作?

典型的malloc(对于x86-64平台和Linux操作系统)是否在开始时天真地锁定互斥锁并在完成时释放它,或者是否以更精巧的方式更智能地锁定互斥锁,从而减少锁争用?如果它确实是第二种方式,它是如何做到的?

c linux malloc gcc x86-64

48
推荐指数
2
解决办法
2万
查看次数

原子变量是否无锁?

当我们谈论原子变量时,例如C++ 11 atomic<>,它是否可以免费锁定?或者锁定是不同的东西?如果我使用原子变量管理队列,它会比无锁队列慢吗?

c++ multithreading x86-64 atomic c++11

39
推荐指数
2
解决办法
1万
查看次数

如何在makefile中包含静态库

我有以下makefile

CXXFILES = pthreads.cpp 

CXXFLAGS = -O3 -o prog -rdynamic -D_GNU_SOURCE -L./libmine
LIBS = -lpthread -ldl

all:
    $(CXX) $(CXXFILES) $(LIBS) $(CXXFLAGS)

clean:
    rm -f prog *.o
Run Code Online (Sandbox Code Playgroud)

我试图将./libmine库包含在内CXXFLAGS,但似乎它不是包含静态库的正确方法,因为当我编译程序时,我得到许多未定义的引用错误.那么实际上在makefile中包含静态库的正确方法是什么?

c linux gcc x86-64

29
推荐指数
4
解决办法
13万
查看次数

无需调试即可查找哪个汇编指令导致非法指令错误

在运行我用汇编编写的程序时,我收到Illegal instruction错误.有没有办法知道哪个指令导致错误,没有调试,因为我正在运行的机器没有调试器或任何开发系统.换句话说,我在一台机器上编译并在另一台机器上运行.我无法在我正在编译的机器上测试我的程序,因为它们不支持SSE4.2.我正在运行程序的机器确实支持SSE4.2指令.

我想这可能是因为我需要告诉汇编程序(YASM)识别SSE4.2指令,就像我们通过传递-msse4.2标志一样使用gcc .或者你认为这不是原因吗?知道如何告诉YASM识别SSE4.2指令吗?

也许我应该捕获SIGILL信号然后解码SA_SIGINFO以查看程序执行什么样的非法操作.

c linux assembly x86-64 yasm

28
推荐指数
3
解决办法
6万
查看次数

如何在SMP上处理中断?

如何在SMP(Symmeteric多处理器/多核)机器上处理中断?是否只有一个或更多的内存管理单元?

假设在不同核心上运行的两个线程A和B触摸页面表中不存在的存储页面(同时),在这种情况下将出现页面错误并且从存储器引入新页面.

会发生什么事件的顺序是什么?如果有一个内存管理单元,哪个核心是转发到的页面错误?内核如何处理它?是否有多个内核实例,每个实例运行在不同的内核上?如果是这样,他们如何同步页面错误处理等事件?

c linux x86-64

25
推荐指数
3
解决办法
7814
查看次数

将llvm .bc文件转换为人类可读的.ll文件

如何从二进制llvm bitcode(扩展名.bc)文件生成人类可读的llvm bitcode(扩展名.ll)?

c linux x86-64 llvm clang

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

x86-64 ×8

c ×7

linux ×7

clang ×3

gcc ×3

assembly ×2

c++ ×2

llvm ×2

atomic ×1

c++11 ×1

gdb ×1

malloc ×1

multithreading ×1

objdump ×1

yasm ×1