热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用@$?C函数/变量中的符号

如何解决《使用@$?C函数/变量中的符号》经验,为你挑选了2个好方法。

我很好奇是否有办法使用@,$或?在C函数或变量名称中.我知道链接器允许它们(因为C++名称错误).

是否有任何类型的转义码可以允许这个(我不在乎它看起来多么丑陋)?或者,在标准C中,这完全不可能吗?



1> Basile Stary..:

在纯标准C中是不可能的.

但是如果使用GCC(或可能是Clang/LLVM),您可以使用 $标识符,并且可以使用标签设置链接器名称asm

你也许也可以用ld脚本玩GNU ld技巧.



2> R....:

标准C不允许任何这些(并且它不能真正允许,?因为它是一个运算符,因此是一个单独的标记).GCC(可能是兼容的编译器)允许$但不允许其他编译器.但是,您可以使用GNU C(GCC)扩展来声明引用不同基础符号名称的外部链接名称; 这可能会达到你想要的效果,例如,如果你试图引用C++符号.我相信语法就像添加__asm__("symbol_name")到函数声明的末尾.大多数Linux系统上的glibc头文件中都有一些例子.

或者,如果有dlsym,您可以使用它在运行时查找名称.


推荐阅读
author-avatar
无极圈晨曦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有