- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想利用 GCC 的可见性属性。
为此,在我的可执行文件中,我有一个函数,我希望它对任何插件都可见,这样它们就可以使用它来注册自己。因此,我在其上使用 __attribute__((visibility("default")))
并在命令行上使用 -fvisibility=hidden
作为选项。
This article似乎暗示属性只能用于声明。
是否可以在单独的 .cpp 文件中实现函数并将属性仅应用于声明?
最佳答案
是的。它通常是这样做的,__attribute__
只出现在声明中。
关于gcc __attribute__ 声明和定义分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003468/
我有一个目前正在用 C 编写的应用程序,其中我在作为项目一部分的库中声明了几个 TLS 静态全局变量。 TLS 变量是使用 gcc 的 __thread 指令声明的。 我想知道我是否可以使用 .cto
如果 C++ 类构造函数只能通过其参数访问数据,那么它们是否可以并且应该声明为 __attribute__((pure))?在什么情况下它们应该被限定为 __attribute__((const))?
遵循 GCC __attribute__(packed) 将打包到字节边界,对齐用于此目的:-- u8 rx_buf[14] __attribute__((aligned(8))); struct
__attribute__((const)) 和 GNU C 中的 __attribute__((pure)) 有什么区别? __attribute__((const)) int f() {
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我想利用 GCC 的可见性属性。 为此,在我的可执行文件中,我有一个函数,我希望它对任何插件都可见,这样它们就可以使用它来注册自己。因此,我在其上使用 __attribute__((visibilit
有时我会出于各种原因围绕 printf 风格的函数编写包装器,我真的很喜欢让 clang 告诉我格式说明符和实际参数之间的类型不匹配。考虑: #include #include static __
我对以下代码行有疑问: char buffer[256] __attribute__((aligned(4096))); 全局数组“缓冲区”的内容是字符串,我从标准输入中获取。我读过https://g
在gcc documentation它们提供有关整数如何对齐的信息。 打包整数可以做同样的事情吗? 例如,这在不会自动处理不正确对齐数据的系统上有效吗? typedef uint16_t __attr
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: GCC __attribute__((aligned(x)) explanation What is mea
__attribute__ 指令是否适用于一行中声明的所有成员? int a, b, c; 声明三个 int 变量。 int *a, b, c; 将变量“a”声明为指向 int 的指针,将 b 和 c
在使用 gcc __attribute__ 函数时,我注意到代码生成存在差异,具体取决于我放置属性的位置。在下面的示例中,我希望编译器不要优化我对 use() 的调用。 编译器:x86-64 gcc(
为什么gcc需要__attribute__((__malloc__))?难道不应该通过将 malloc (和类似的函数)声明为返回 restricted 指针来传达相同的信息 (void *restr
我得到了一段将 __attribute__((const)) 应用于某些函数的代码。现在,我宁愿在它可用时不删除它,但另一方面,我确实想要更便携,所以 - 我想说 #if some condition
我可能对 weak 理解有误: 我的情况: 具有一些弱回调的“物理层” 实现这些回调的“框架层”,并为应用层提供新的 WEAK 回调 主要 - 应用层。 phy.h #pragma once void
我知道从C编程语言的角度main() 是程序的入口点。 但从操作系统的角度来看,__start 位于 ctrt0 启动例程,它链接到一个程序中,该程序在调用程序的 main() 函数(如有错误请指正)
这几天一直让我抓狂。如果我将数组声明为 static,则无法让数组对齐 16。 非常感谢任何帮助。 修订版: #include #include #define MAX_INPUTS 250 in
我正在尝试在 android NDK 上进行开发。我实际上有一个带有模块的项目+子文件夹(编译为静态库)并与主项目文件(libs .a + main object .o --> 可执行文件)链接在一起
这个问题在这里已经有了答案: Is there a standard "never returns" attribute for C# functions? (10 个答案) 关闭 8 年前。 C#
__attribute__ ((__packed__)) 对嵌套结构有什么影响?例如: // C version struct __attribute__ ((__packed__)) { s
我是一名优秀的程序员,十分优秀!