Coding In C day11

C语言函数和程序结构
通过函数可以把大的计算任务分解成若干个较小任务,从而使得思路更加清晰,同时函数也大大提高了代码的复用率,提高了工作效率。要注意的是多函数之间应该尽可能地高聚合低耦合。另一方面,一个程序可以保存在一个或者多个源文件中。各个文件可以单独编译。

注意:一般地,头文件中不会放那些在程序运行时发生具体效应的语句。例如声明(定义)一个变量的语句是不会放在头文件中的。再例如结构体声明(定义)语句就可以放头文件里,但结构体变量声明(定义)语句是不会放在头文件中的。

make工具可以用来进行项目管理。他可以根据记录在Makefile文件中的要求完成整个编译过程。实际项目中Makefile文件内容复杂,往往还有可以制作Makefile文件的工具。
linux开源软件经典的软件安装步骤是直接从软件源程序开始的,步骤:
(1)make
(2)make install
(3)make clean

举例:

/*
Filename:add.h
 */
#ifndef __ADD_H__
#define __ADD_H__
void add(int, int);
#endif  //__ADD_H__

/*
Filename: add.c
 */
#include "add.h"
int result;
void add(int a , int b)
{
    result = a + b;
}

/*
Filename: sub.h
 */
#if !defined(__SUB_H__)
#define __SUB_H__
int sub(int, int);
#endif  //__SUB_H__

/*Filename: sub.c
 */
#include "sub.h"
int sub(int a, int b)
{
    return a - b;
}

/*
Filename: main.c
 */

#include "add.h"
#include "sub.h"

#include <stdio.h>
extern int result;// gcc直接使用语句int result;再次定义result不会被gcc报警告或者错误
int main()
{
    add(10, 10);
    printf("%d + %d = %d \n", 10, 10, result);
    printf("%d - %d = %d \n", 10, 10, sub(10, 10));

    return 0;
}



Makefile

a.out : add.o   sub.o main.c
	gcc -c main.c
	gcc sub.o add.o main.o
add.o:add.c

	gcc -c add.c

sub.o:sub.c
	gcc -c sub.c
clean:
	rm *.o a.out


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C和C++的安全编码是指在编写C和C++代码时,采取一系列的措施来确保代码的安全性和防止常见的安全漏洞。由于C和C++是底层的编程语言,它们允许对内存直接进行操作,这也使得它们容易受到各种安全威胁的攻击。 在进行安全编码时,有几个关键的原则需要遵循。首先是验证输入。由于输入数据往往是来自外部,我们需要对输入进行验证,以确保它们符合预期的格式和范围。这样可以防止缓冲区溢出和格式化字符串漏洞等攻击。 其次,应该正确地管理内存。C和C++允许直接控制内存的分配和释放,但这也意味着需要手动管理内存的生命周期。如果没有正确地分配和释放内存,会导致内存泄漏和非法内存访问等问题。因此,务必要仔细检查并指定正确的内存操作。 此外,还应注意避免使用不安全的函数和功能。一些函数和功能可能存在安全风险,如strcpy和scanf等。应该使用更安全的替代函数,如strncpy和fgets等,以提高代码的安全性。 最后,代码的安全性也需要经过不断的测试和审查。通过进行静态代码分析和动态测试,可以发现和纠正代码中的潜在安全问题。此外,代码审查也是非常重要的,通过互相审查可以找到潜在的漏洞和错误。 总而言之,C和C++的安全编码需要遵循验证输入、正确管理内存、避免使用不安全函数和功能以及进行测试和审查等原则。只有通过采取适当的安全措施,才能确保代码的安全性并防止潜在的安全漏洞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值