当前位置:网站首页>C专家编程 第1章 C:穿越时空的迷雾 1.11 轻松一下---由编译器定义的Pragmas效果
C专家编程 第1章 C:穿越时空的迷雾 1.11 轻松一下---由编译器定义的Pragmas效果
2022-08-03 16:09:00 【weixin_客子光阴】
/*轻松一下---由编译器定义的Pragmas效果*/
/*Free Software Foundation, FSF) 自由软件基金会
*MIT顶级黑客Richard Stallman创立(天才程序员)
*初衷:软件应该是免费的,所有人都可以自由使用。
*宗旨:消除在计算机程序复制、重发布、理解和修改方面的限制
*建立一个UNIX的自由软件实现方案,称为GUN(代表GUN's Not UNIX)。
*作品:GUN C编译器系列
*gcc是一个在代码优化方面具有创造性的健壮的编译器,可以在很多硬件平台使用,
*有时甚至比编译器厂商的产品更为优秀
*/
/*
*指定ANSI C标准时,引入了pragma指示符,这个指示符来源于Ada
*#pragma作用:用于向编译器提示一些信息,诸如希望把某个特定函数扩展为内联函数,或者
*取消边界的检查。由于它并非C语言所固有,pragma遭到了一个gcc编译器设计者的积极抵制。
*/
/*
*#pragma指示符的行为是由编译器定义的
*在GUN C编译器中,它的定义如下:
*/
do_pragma() {
close(0);
if (open("/dev/tty", O_RDONLY, 0666) != 0)
goto nope;
close(1);
if (open("/dev/tty", O_ WRONLY, 0666) != 1)
goto nope;
//运行hack游戏
exel("/usr/games/hack", "#pragma", 0);
//运行rogue游戏
exel("/usr/games/rogue", "#pragma", 0);
//运行GUN emacs
exel("/usr/new/emacs", "-f", "hanoi", "9", "-kill", 0);
exel("/usr/local/emacs", "-f", "hanoi", "9", "-kill", 0);
//报告致命错误
nope:
fatal("you are in a maze of twisty compiler features, all different")
}
边栏推荐
- To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
- 使用 PowerShell 将 Windows 转发事件导入 SQL Server
- 带你了解什么是 Web3.0
- Windows 事件转发到 SQL 数据库
- 罗克韦尔AB PLC RSLogix5000中创建新项目、任务、程序和例程的具体方法和步骤
- 我在滴滴做开源
- C专家编程 第3章 分析C语言的声明 3.6 typedef int x[10]和#define x int[10]的区别
- MATLAB | 七夕节快到了,还不给朋友安排上这个咕呱小青蛙?
- 【QT】Qt 给已经开发好的程序快速封装成动态库
- 下午见!2022京东云数据库新品发布会
猜你喜欢
技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris
MATLAB | 一种简易的随机曼陀罗图形生成函数
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
STM32 GPIO LED和蜂鸣器实现【第四天】
为教育插上数字化的翅膀,网易云信发布「互联网+教育」整体解决方案
Web3 安全风险令人生畏?应该如何应对?
攻防世界----bug
为什么我强烈推荐使用智能化async?
#夏日挑战赛# HarmonyOS 实现一个绘画板
面了个腾讯35k出来的,他让我见识到什么叫精通MySQL调优
随机推荐
Some optional strategies and usage scenarios for PWA application Service Worker caching
一文看懂推荐系统:召回03:基于用户的协同过滤(UserCF),要计算用户之间的相似度
ReentrantLock详解
为教育插上数字化的翅膀,网易云信发布「互联网+教育」整体解决方案
Detailed explanation of ReentrantReadWriteLock
DAYU200 OpenHarmony标准系统HDMI全屏显示
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 02
leetcode:202. 快乐数
posgresql 到 es 报这个错误 ,啥意思
window.open不显示favicon.icon
When mobile applications go overseas, is your "network optimization" holding back?
元宇宙系列--Value creation in the metaverse
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
TCP 可靠吗?为什么?
机器人开发--Universal Scene Description(USD)
C专家编程 第3章 分析C语言的声明 3.6 typedef int x[10]和#define x int[10]的区别
基于DMS的数仓智能运维服务,知多少?
Interpretation of the 2021 Cost of Data Breach Report
【带你了解SDN和网络虚拟化】
为什么我强烈推荐使用智能化async?