make文件

 makefile的基本语法

hello : main.o message.o
	gcc main.o message.o -o hello
//当main.o或者message.o发生变化时,执行gcc main.o message.o -o hello

main.o : main.c		//将main.c文件编译成main.o链接文件,方便管理
	gcc -c main.c

message.o : message.c
	gcc -c message.c

clean:
    rm -f *.o hello

补充知识

assert

作用:如果条件为假,程序将终止运行,并输出一个错误信息。

#include <stdio.h>
#include <assert.h>

int main() {
    int a = 10;
    assert(a == 10); // 这个断言会成功,因为a确实等于10
    printf("a的值是10。\n");

    int b = 5;
    assert(b == 10); // 这个断言会失败,因为b不等于10
    printf("b的值是10。\n");

    return 0;
}
a的值是10。
Assertion failed: b == 10, file D:\VS代码\solution\make项目\main.cpp, line 10

memset

void *memset(void *s, int c, size_t n);

作用:memset 函数会将 n 个字节的内存块从地址 s 开始设置为值 c

#include <string.h>
#include <stdio.h>

int main() {
    char buffer[10];

    // 将buffer数组的前5个字节设置为'A'
    memset(buffer, 'A', 5);

    // 打印buffer数组的内容
    for (int i = 0; i < 5; i++) {
        printf("%c", buffer[i]);
    }
    printf("\n");

    return 0;
}
AAAAA

try/catch语法

try {
    // 尝试执行的代码块
    // 如果抛出了异常,将跳转到相应的catch块
}
catch (exception_type1 param1) {
    // 当抛出的异常类型为exception_type1时执行的代码块
}
catch (exception_type2 param2) {
    // 当抛出的异常类型为exception_type2时执行的代码块
}
catch (...) {
    // 捕获所有其他类型的异常
}
#include <iostream>
#include <stdexcept>
#include <string>

int main() {
    try {
        // 尝试执行的代码块
        throw std::runtime_error("An error occurred"); // 抛出一个runtime_error异常
    }
    catch (const std::runtime_error& e) {
        // 捕获std::runtime_error类型的异常
        std::cout << "Caught a runtime_error: " << e.what() << std::endl;
    }
    catch (const std::exception& e) {
        // 捕获所有派生自std::exception的异常
        std::cout << "Caught an exception: " << e.what() << std::endl;
    }
    catch (...) {
        // 捕获所有其他类型的异常
        std::cout << "Caught an unknown exception" << std::endl;
    }
    return 0;
}

e.what()代表“An error occurred”

less

默认情况下,std::less<T> 用于比较时,会使用 operator< 来比较两个对象。

#include <iostream>
#include <set>
#include <functional>

int main() {
    std::less<int> comp; // 创建一个比较函数对象,用于比较 int 类型的对象

    int a = 5;
    int b = 10;

    if (comp(a, b)) {
        std::cout << a << " is less than " << b << std::endl;
    }
    else {
        std::cout << a << " is not less than " << b << std::endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值