当前位置:网站首页>C陷阱与缺陷 第7章 可移植性缺陷 7.2 标识符名称的限制
C陷阱与缺陷 第7章 可移植性缺陷 7.2 标识符名称的限制
2022-07-30 17:10:00 【weixin_客子光阴】
事实上,ANSI C标准所能保证的只是,C实现必须能够区别前6个字符不同的外部名称。而且
这个定义中并没有区分大写字母和相应的小写字母。
标识符名称的限制
char *Malloc(unsigned n) {
char *p, *malloc(unsigned);
p = malloc(n);
if (p == NULL) {
panic("out of memory");
}
return p;
}
如果这个函数的编译环境是不区分外部名称大小写的C语言实现,此时函数Malloc与malloc实际上
是等同的。程序在第一次试图分配内存时,对Malloc函数的调用将引起一系列的递归调用,而这
写递归调用又不存在一个返回点,最后引发灾难性的后果!
边栏推荐
- What does a good resume look like in the eyes of a big factory interviewer?
- 华为无线设备Mesh配置命令
- torch.optim.Adam() function usage
- Weka 3.8.6安装与Weka 3.8.6功能介绍
- gvim命令记录
- Gvim order record
- 【Cloud Store Announcement】Notice of Help Center Update on July 30
- S7-200SMART中定时器的使用方法和常见注意事项汇总
- [MRCTF2020]Ezaudit
- FP6606ACAW4 TQFN-20L (3mmx3mm) USB双端口充电控制器 百盛电子代理
猜你喜欢

实现web实时消息推送的7种方案

Error EPERM operation not permitted, mkdir 'Dsoftwarenodejsnode_cache_cacach Two solutions

esp32系列(5):esp32 蓝牙架构学习
![[Geek Challenge 2020] Roamphp1-Welcome](/img/3b/2fa91f7478b8abf6efe0feafd24e58.png)
[Geek Challenge 2020] Roamphp1-Welcome

torch.optim.Adam() 函数用法

新零售saas小程序如何探索数字化门店的破局之路?
![[HarekazeCTF2019]Avatar Uploader 1](/img/2c/6dde7b8d34ba0deb334b4283e1e30e.png)
[HarekazeCTF2019]Avatar Uploader 1

华为无线设备配置Mesh业务

Error occurred while trying to proxy request The project suddenly can't get up

疫情之下的裁员浪潮,7点建议帮你斩获心仪offer
随机推荐
Mongoose模块
esp32系列(5):esp32 蓝牙架构学习
Research on intelligent charging strategy of matlab simulink lithium-ion battery
S7-200SMART中定时器的使用方法和常见注意事项汇总
Various meanings of SQL's PARTITION BY syntax (with examples)
C# 跨程序传图(共享内存块传图)跨exe传图
.NET 6.0中使用Identity框架实现JWT身份认证与授权
Tensorflow模型量化(Quantization)原理及其实现方法
Express框架连接MySQL及ORM框架
huato hot update environment construction (DLL method hot update C# code)
每日一题:两数之和
FP6600QSO SOP-8 USB专用充电端口控制器 用于快充电协议和QC2.0/3.0
How Google earth engine realizes the arrangement and selection of our time list
疫情之下的裁员浪潮,7点建议帮你斩获心仪offer
基于MATLAB的电力系统短路故障分析与仿真
[MRCTF2020]Ezaudit
[MRCTF2020]Ezaudit
万华化学精细化工创新产品大会
牛客网刷题——运算符问题
matlab simulink锂离子电池智能充电策略研究