attribute关键字
attribute关键字可以设置函数属性,如果设置成构造函数,则先于主函数执行
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <queue>
#include <stack>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <vector>
using namespace std;void func1() {printf("function 1\n");
}void func2() {printf("function 2\n");
}void func3() {printf("function 3\n");
}void func4() {printf("function 4\n");
}void (*func[4])();//定义函数指针数组__attribute__((constructor))
//这个函数的作用是初始化一个函数指针数组(使对应的函数指针指向对应的函数)
//也就是把四个功能函数地址存储到一个存储区中(注册函数)
void init_func() {func[0] = func1;func[1] = func2;func[2] = func3;func[3] = func4;return ;
}int main() {srand(time(0));func[rand() % 4]();//随机执行四个功能函数之中的一个return 0;
}
attribute关键字相关推荐
- Robot Framework(4)——Selenium2Library关键字
在第一讲的时候,已经安装了Selenium2Library这个库,这一篇主要来整理介绍一下Selenium2Library中的常用关键字,为我们之后的web自动化打好基础 一.browserManag ...
- 计算机语言属性的定义,Attribute
Attribute (计算机语言) 语音 编辑 锁定 讨论 上传视频 元素用于向元素添加属性. 注释: 元素会替换名称相同的已有属性. 中文名 Attribute 注 释 元素会替换名称相同的已 ...
- 语言中如何在main函数开始前执行函数
在gcc中,可以使用attribute关键字,声明constructor和destructor,代码如下: #include <stdio.h> __attribute((construc ...
- 深入理解SELinux SEAndroid
按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上.所以 现在就先奉献 马上有第一部分 祝各位同仁,朋友 马年快乐. 深入理解SELinux SEAndroid SEAndroi ...
- ARM Cortex-M3初探
ARM初探–alias alias是为老函数,取一个新的名字! attribute关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化 #include <stdio.h> i ...
- GNU __attribute 详解
GNU C的一大特色(却不被初学者所知)就是__attribute__机制. __attribute__可以设置函数属性(Function Attribute).变量属性(Variable Attri ...
- 在main函数前后执行的函数之 C语言
在gcc中,可以使用attribute关键字,声明constructor和destructor,来指定了函数在main之前或之后运行,代码如下: 1 #include <stdio.h> ...
- RF新手常见问题总结--(基础篇)
RF新手常见问题总结--(基础篇) 学RF快一年了,经常碰到一些问题,有些同学也经常问到,这里总结一些,期望有人后续再补充,主要是响应群里--雪霁大神的号召,技术共享.废话少说,直接上干货了. 1. ...
- C语言中总是从main函数开始执行函数吗?
答案是否定的! 在gcc中,可以使用attribute关键字,声明constructor和destructor,代码如下: [cpp] view plaincopy #include <stdi ...
最新文章
- tesseract3.01的训练和使用
- Grid R-CNN解读:商汤最新目标检测算法,定位精度超越Faster R-CNN
- 推荐一个好用的Chrome扩展应用,管理新建标签页面的
- 正则表达式的基本语法
- virtualbox启用远程桌面
- C# 利用反射动态将字符串转换成属性对应的类型值
- 杭电 OJ 提交代码需要注意的问题
- 详解云原生应用实践与未来趋势
- 开源跨平台计算机视觉库OpenCV 4.0正式发布
- Navicat for MySql管理工具 中文破解版
- swpu计算机科学学院推荐免试,西南石油大学2020届本科毕业生推荐免试硕士研究生结果公示 - 千里马招标网...
- 王阳明心学的最高境界
- poi excel 插入批注
- GOlang将华氏温度转换为摄氏温度的函数
- 必修三计算机选修三知识点总结,高二必修三物理知识点总结
- iOS开发三方资源 - 欲先攻其事必先利其器
- JQuery判断字符串是否是数字
- 第九届蓝桥杯单片机完整程序
- 如何将C 项目部署到云服务器上,如何将C 应用程序放在云服务器上
- Hibernate错误:java.lang.NoClassDefFoundError: Could not initialize class com.zhbit.util.HibernateUtils
热门文章
- linux nginx svn 更新前端代码
- 认识zookeeper
- 操作系统实验报告7:进程间通信—共享内存。实现一个带有n个单元的线性表的并发维护。
- [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例
- 【数据结构与算法】之深入解析“24点游戏”的求解思路与算法示例
- iOS逆向之hook框架frida的安装和使用
- 763. Partition Labels 划分字母区间
- 404. Sum of Left Leaves 左叶子之和
- 13.2.3 视图层——视图函数
- 如何设置树莓派 VNC 的分辨率