博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux内核中GNU C __attribute__ 机制的实用
阅读量:5146 次
发布时间:2019-06-13

本文共 798 字,大约阅读时间需要 2 分钟。

  很多东西,只看看是不行的,要想深入的去了解一个东西,一定要去不断地学习,实践,反思。

说白了就是要去打磨。

  在linux中,最近遇到了这样一个定义:

int board_usb_init(int index, int usb_init_type) __attribute__((weak, alias("__board_usb_init")));

一下子懵逼了,啥意思?不懂的东西,还是要查一下的:

  weak 和 alias 分别是两个属性。

  weak 使得 foo 这个符号在目标文件中作为 weak symbol 而不是 global symbol

  而 alias 则使 foo 是 __foo 的一个别名。

  清楚之后,就要实例来看一下了,估计这下大家就清楚了。

#include 
//__weak int __board_usb_init(int index, enum usb_init_type init)int __board_usb_init(int index, int usb_init_type){ printf("my test is ok\n\t"); return 0;} int board_usb_init(int index, int usb_init_type) __attribute__((weak, alias("__board_usb_init"))); int main(){ board_usb_init(0,1); return 0;}

  

转载于:https://www.cnblogs.com/dylancao/p/8557873.html

你可能感兴趣的文章
Windows phone 8.1布局控件
查看>>
easyui中表格列之间的换位05
查看>>
SSL-ZYC 采购特价商品【SPFA】
查看>>
软工作业 2:时事点评-红芯浏览器事件
查看>>
网页里动态加载js
查看>>
https://tieba.baidu.com/p/2248070024
查看>>
eclipse 怎么查看相关引用
查看>>
pprint模块介绍
查看>>
命令行查看端口
查看>>
Vim复制一整行和复制多行
查看>>
时光穿梭机
查看>>
NVIDIA GRID 和 NICE DCV 技术用于实现 Linux 和 Windows® 图形加速虚拟桌面
查看>>
codevs——T2488 绿豆蛙的归宿
查看>>
MSIL实用指南-闭包的生成和调用
查看>>
使用Roslyn脚本化C#代码,C#动态脚本实现方案
查看>>
JDK dump
查看>>
Jenkins-在windows上安装及其部署
查看>>
【推荐收藏】10个获取免费网页背景纹理的最佳网站
查看>>
素材锦囊:50套高质量的 PSD 素材免费下载《下篇》
查看>>
帮助你在 Photoshop 中轻松实现长阴影效果的工具
查看>>