搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【Java并发编程】ThreadPoolTaskExecutor线程池的简单应用
2
箭头函数的使用_箭头函数大括号的使用
3
shader之——湖水(河流倒影)_shader 倒影
4
QT学习1:设计可视化窗口的框架——Ui_Class_qt 下的ui框架
5
Unity实现边缘轮廓高亮_unity轮廓光
6
python几何图形turtle库_python turtle用circle画多边形
7
python3.5 视觉_使用视觉效果图创建美丽而复杂的效果:于2019.3验证
8
HTML多选验证js函数,JavaScript 验证 API
9
python2异步编程_详解python异步编程之asyncio(百万并发)
10
Linux——文件的概念、操作和理解_linux设备即文件,文件内容是什么
当前位置:
article
> 正文
C语言编程安全规范
作者:笔触狂放9 | 2024-02-27 08:02:07
赞
踩
C语言编程安全规范
目的
本规范旨在加强编程人员在编程过程中的安全意识,建立编程人员的攻击者思维,养成安全编码的习惯,编写出安全可靠的代码。
2 宏
2.1 用宏定义表达式时,要使用完备的括号
2.2 使用宏时,不允许参数发生变化
3 变量
3.1 所有变量在定义时必须赋初值
变量声明赋予初值,可以避免由于编程人员的疏忽导致的变量未初始化引用。
4 表达式
4.1 浮点变量不可使用“==”或“!=”与任何数字比较。
4.2 逻辑运算符 && 或 || 的右手操作数不能包含副作用
4.3 不允许对有符号、浮点数进行位操作
控制语句
5.1 避免 goto 语句
避免使用 goto 语句,如特殊情况需要使用,先考虑使用 do {}while(0)语句替代。
6 函数
6.1 函数功能要专一
一个函数只做一件事情,如果函数体代码量过大,要重新检查是否需要将函数进行拆分,保持函数
的内聚性。
6.2谨慎使用不可重入函数
要实现可重入函数而非不可重入函数:在函数体内使用局部变量,避免使用静态变量和全局变量。
如果函数体内使用到全局变量或静态变量,要对其进行保护。不可重入函数在多线程环境下其执行
结果不能达到预期效果,需谨慎使用。
6.3 减少函数本身或函数间的递归调用
递归调用特别是函数间的递归调用(如 A->B->C->A),影响程序的可理解性;递归调用一般都占
用较多的系统资源;递归调用对程序的测试有一定影响。故除非为某些算法或功能的实现方便,应
减少没必要的递归调用。
6.4 标准库中保留的标识符、宏和函数不能被定义、重定义
6.5 外部函数要检查输入参数的有效性
对于外部函数要检查所有输入参数的有效性,以及非输入参数的有效性:如全局变量,静态变量。
内部函数不对参数有效性检查,由它的调用者对参数进行有效性检查。
6.6 防止将函数的参数作为工作变量
防止将函数的参数作为工作变量,对必须要改变参数,最好用局部变量代之,最后再将局部变量的内容赋给该参数。
6.7 如果一个函数可能返回错误信息,则调用后必须加以测试。
6.8 传递给库函数的值必须检查其有效性
库函数对传入的参数可能不会做有效性检查,因此程序应对传给库函数的参数进行有效性检查。
6.9 不使用不安全函数
不要使用安全函数,避免给系统造成不稳定性。如果不要使用一些已形成共识的 C 标准库的高危
险函数。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/151262
推荐阅读
article
Twitter
(现为
X
)向全球
创作者
开放
广告
收入共享
计划
_
twitter
创作者
激励模型...
本月早些时候,
Twitter
(后来更名为
X
)开始与经过验证的
创作者
分享
广告
收入,试图在其平台上留住顶尖人才。今天,该公...
赞
踩
article
疯壳AI语音及
人脸识别
教程
2
-
4
串口
_
ibrd
寄存器
...
目录1.1
寄存器
11.
2
实验现象 17视频地址:https://fengke.club/GeekMart/su
_
f9c...
赞
踩
article
计算机专业
毕业设计
:500个
项目
项目
推荐
(
源码
+
论文
)✅...
计算机专业
毕业设计
:500个
项目
项目
推荐
(
源码
+
论文
)✅
计算机专业
毕业设计
:500个
项目
项目
推荐
(
源码
+
论文
)✅ ...
赞
踩
article
2021
年
3
月
7
日 蚂蚁金服的
OceanBase
Java
后端开发实习面经(一面)_oceanbas...
title:
2021
年
3
月
7
日 蚂蚁金服的
OceanBase
Java
后端开发实习面经(一面)tags: 面经
2021
...
赞
踩
article
纵览
轻量化
卷积
神经网络
:
SqueezeNet
、
MobileNet
、
ShuffleNet
、Xcepti...
本文就近年提出的四个
轻量化
模型进行学习和对比,四个模型分别是:
SqueezeNet
、
MobileNet
、ShuffleN...
赞
踩
article
AquilaChat
-7B: 国产
开源
大
模型
新成员——AI领域的
创新型
研发机构智源
人工智能
研究院
出品...
Aquila语言
大
模型
在技术上继承了GPT-3、LLaMA等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现...
赞
踩
article
基于Python(
Django
框架)的
毕业
设计
作品成品(10)旅游景点
购票
售票
系统
设计
与实现_基于d...
课题主要目标是
设计
并能够实现一个基于web网页的
景区
景点
购票
系统
,整个网站项目使用了B/S架构,基于python的Dja...
赞
踩
article
知识
图谱
基础【
通俗易懂
】_
知识
图谱
三元组
...
知识
图谱
基础(知乎系列博文)本文从一个例子出发娓娓道来阐述了
知识
图谱
的来源、结构,值得一学,参考链接:https://z...
赞
踩
article
最短路径
无
权重
无
向
图
java
_
数据
结构
与算法——
图
论基础与
图
存储
结构
...
1 前言由于后续更新「面试专场」的好几篇文章都涉及到
图
这种
数据
结构
,因此打算先普及一下
图
的相关理论支持,如果后面的相...
赞
踩
article
解决
CSS
开发中的
常见问题
——
浏览器
不
兼容
_
css
clamp
不
支持
浏览器
...
1.字体大小
不
兼容
:各个
浏览器
对字体大小small的定义
不
同,所以效果
不
一样比如:IE
浏览器
small定义为16px,而...
赞
踩
article
Python -
Bert
-
VITS2
自定义
训练
语音_
bert
vits2
训练
...
使用
Bert
-
VITS2
训练
自己的语音模型。_
bert
vits2
训练
bert
vits2
训练
...
赞
踩
article
win11
安装
anaconda
, tenserflow gpu
版本
,
cuda
toolkit
,...
比如我要用的1.15.2的
版本
对应的是
cuda
10.0.0一定不要
安装
高
版本
的,当时
安装
了10.2的
版本
,gpu也能用,...
赞
踩
article
python
加速
方法:纯
CPU
多
进程
加速
(
joblib
库)_
joblib
可以
加速
吗...
上面列了不少好处,但是jobLib多
进程
运行效率相当高,但是不好调试,所以写的时候要搞清楚其并行原理,写好正常执行代码,...
赞
踩
article
antd
的
联级
选择器
异步
调用
编辑回显_自己
的
通用
react
+
antd
控件记录-通用
图片
墙...
基于
antd
的
图片
墙封装。
调用
方法:
[详细]
-->
赞
踩
article
pandas
基础...
pandas
基础
pandas
介绍Python Data Analysis Library
pandas
是基于NumPy 的...
赞
踩
article
安卓
wps
精简
版
本地
版
_
WPS
Office
校园
版
&精简
版
...
官网介绍
WPS
OFFICE作为一款办公软件套装,可以实现办公软件最常用的文字、表格、演示、PDF等多种功能。
WPS
O...
赞
踩
article
【
Spring
Boot
集成
应用】
ElasticSearch
的
集成
配置
使用
_enableelast...
Spring
-boot支持
ElasticSearch
的
集成
, 并提供了spring-boot-starter-data-...
赞
踩
article
ABBYY
Finereader16
主要
功能
及
优势
点介绍...
一、主要
功能
ABBYY
FineReader 16是一款强大的OCR(光学字符识别)和PDF编辑软件,它提供了多种
功能
来...
赞
踩
article
Spring
:
Spring
boot 框架
集成
不同
版本
的
spring
redis
...
建议根据具体的项目需求和使用的
Spring
、
Spring
Data Redis
版本
来查阅官方文档或参考相应的示例代码...
赞
踩
article
Java SSM框架+jsp处理存储型
XSS
和
反射
型
XSS
漏洞
_
java
项目
反射
型
xss
漏洞
...
存储型
XSS
和
反射
型
XSS
修复_
java
项目
反射
型
xss
漏洞
java
项目
反射
型
xss
漏洞
...
赞
踩
相关标签
twitter
课程设计
毕业设计
大数据
python
数据分析
选题
java
面试
人工智能
开发工具
开源
机器学习
旅游购票系统毕业设计
景区景点售票系统毕业设计
计算机毕业设计
python毕业设计作品
django框架
知识图谱
自然语言处理
最短路径 无权重无向图 java
有向图数据结构
编写算法由依次输入的顶点数目
浏览器兼容