小编Pro*_*ain的帖子

如何使用 libClang 解析函数属性?

我正在尝试使用 libClang 解析函数属性,但到目前为止还没有成功。

例如,我可能在标题中定义了这样的属性。

#define __mobile__ __attribute__((mobile))
Run Code Online (Sandbox Code Playgroud)

在一个单独的 .cpp 文件中,我有我的函数定义:

<template T>
__mobile__ void run(T int){...}
Run Code Online (Sandbox Code Playgroud)

我花了一天时间玩弄 libClang 库并通过它与 C++ 进行交互。

到目前为止,我还无法判断该函数是否包含这样的属性。方法 clang_Cursor_hasAttrs 为游标运行返回 0,这是 CXCursor_FunctionTemplate 类型。

c++ libclang

5
推荐指数
0
解决办法
230
查看次数

链接共享库绝对与相对路径

我一直在尝试将共享库链接到我的程序中,我希望它的路径与我的 RPATH 相关。

但是,当我运行ldd时,我注意到共享库的绝对路径是链接的。任何想法为什么?

编辑:

/home/projects/my_files/winter_fresh.so
libgcc_s.so.1 => /home/tomo/anaconda3/lib/libgcc_s.so.1 (0x00007f0a3bf64000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0a3bd47000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0a3b97d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0a3e369000)
libstdc++.so.6 => /home/tomo/anaconda3/lib/libstdc++.so.6 (0x00007f0a3b643000)
Run Code Online (Sandbox Code Playgroud)

问题是第一个文件。我不希望 Winter_fresh 的库成为绝对路径,因为我有一个包含它的 RPATH。

linker gcc cmake shared-libraries

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

标签 统计

c++ ×1

cmake ×1

gcc ×1

libclang ×1

linker ×1

shared-libraries ×1