MSVC cl 命令使用笔记
我们又时不想安装 Visual Studio 又想使用 MSVC 编译器则可以安装 Microsoft C++ 生成工具 Microsoft C++ 生成工具通过可编写脚本的独立安装程序提供 MSVC 工具集,无需使用 Visual Studio。 如果从命令行界面(例如,持续集成工作流中)生成面向 Windows 的 C++ 库和应用程序, 作为持续集成工作流的一部分)。 包括 Visual Studio 2015 Update 3、Visual Studio 2017、Visual Studio 2019 和最新版本 Visual Studio 2022 中提供的工具。 cl 命令概述本文主要记录 cl 命令的使用,一下是 cl 命令的简短概述: cl是微软 Visual C++ 编译器(MSVC)的命令行工具,用于将 C 和 C++ 源程序编译成可执行文件、动态链接库或静态链接库等。以下是对cl命令的详细概述: 基本语法 cl命令的基本语法格式为:cl [options] source_file(s) [object_file(s)]...
稳压二极管笔记
稳压二极管的一些特性: 温度特性 一般稳压值低于 6V 的稳压二极管属于齐纳击穿,温度系数是负的; 高于 6V 的鱼鱼雪崩击穿,温度系数是正值
流程图使用笔记
写这篇流程图使用笔记,是因为想用流程图可视化的整理自己的逻辑。 流程图类型 基本流程图 数据流程图 泳道流程图 流程图符号 基础符号 椭圆形 (代表开始/结束) 矩形 (表示一个过程) 平行四边形(表示信息的输入/输出) 菱形(代表一个判断) 箭头(表示序列流)
AT32 滴答定时器 LED 闪烁
在此分享一下 AT32 Work Bench 创建的滴答定时器 LED 闪灯程序,程序只用到了一个 LED,下面是具体的内容。 配置 system 要把时基源参数中的延时模式选择为中断,否则的话不会启动中断函数。 123456789101112131415161718192021222324252627282930313233343536373839404142434445// main.cint main(void){ /* add user code begin 1 */ /* add user code end 1 */ /* system clock config. */ wk_system_clock_config(); /* config periph clock. */ wk_periph_clock_config(); /* nvic config. */ wk_nvic_config(); /* timebase config. */ wk_timebase_init(); /* init gpio function. */ ...
AT32 按键例子 - 外部中断模式
今天给大家分享一个基于 AT32 单片机的中断按键例子,这个例子通过一个按键控制一个 LED 的亮灭(中断-上升沿触发模式)。 原理图: 我们用的是 FP11_SW1 ,注意要是能内部上拉电阻,这里我用了 AT32 Work Bench 可视化配置工具。 中断配置: 配置为中断模式并且为上升沿触发,也就是我们在按下按键并且松开时才会触发中断。因为使能了内部上拉电阻,默认为高电平,所以才会在按键松开时触发中断。 我们需要勾选 EXINT15_10_IRQ,这样会在 at32f435_437_int.c 文件中生产 EXINT15_10_IRQHandler() 中断函数。 主循环代码: 123456789// main.cconfirm_state led2_flag = TRUE; // 全局变量while(1){/* add user code begin 3 */ gpio_bits_write(LED2_GPIO_PORT, LED2_PIN, led2_flag);/* add user code end 3...
Hello World
该文件是 hexo 中默认生成第一篇文章,在此我进行了升级,用该文章记录一些 hexo 使用的笔记。 Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$hexo deploy More info: Deployment 关于搜索https://butterfly.js.org/posts/ceeb73f/#%E6%90%9C%E7%B4%A2 我用的hexo主题是 buterfly 该主题支持几种搜索,这里我选用了最简单的 local_search 具体的配置是: 安装 hexo-generator-searchdb 配置主题的 search use 为: `local_search’...
C++ 中的构造函数
构造函数C++ 构造函数就是创建类对象时自动执行的函数,编译器会默认提供3给默认构造函数,一个构造函数,一个拷贝构造函数,一个移动构造函数。 例子: 1234class A{}; 类 A 的3给默认构造函数为: 123A(); // 构造函数A(const A&); // 拷贝构造函数A(A&&) // 移动构造函数 构造函数初始化列表构造函数初始化列表的语法: 1234567class A{private: int m_a, m_b, m_c;public: A(int _a, int _b, int _c);}; 构造函数定义: 123456789A::A(int _a, int _b, int _c) : m_a(_a), m_b(_b), m_c(_c){ std::cout << "a: " << m_a << std::endl; std::cout << "b: " << m_b...
Rust 中的宏分类
Rust中的宏可以按照不同的标准进行分类,以下是一些常见的分类方式及具体介绍: 按功能用途分类 声明宏:用于定义新的语法结构或对已有语法进行扩展,通过macro_rules!关键字定义。例如,vec!宏用于方便地创建Vec类型的数组,println!宏用于格式化输出到控制台。 过程宏:在编译时对代码进行操作和转换,比声明宏更强大,可以访问更多的编译器内部信息。包括以下三种类型: 自定义派生宏:允许为结构体和枚举自动实现特定的 trait。比如,为一个结构体派生Debug trait时,使用#[derive(Debug)],编译器会在编译阶段自动为该结构体生成Debug...
Tauri 从前端访问后端 Rust
Tauri 提供了从前端访问后端 rust 函数的功能,这篇文章就来了解下如何使用该功能。 首先看下 rust 后端函数如何定义,以下是 tauri 初始项目中的代码片段: 123456789101112131415// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/#[tauri::command]fn greet(name: &str) -> String { format!("Hello, {}! You've been greeted from Rust!", name)}#[cfg_attr(mobile, tauri::mobile_entry_point)]pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_opener::init()) ...
AT32 单片机简单按键程序
今天写了一下简单的按键程序,单片机是 AT32F437ZGT7 ,按键消抖用的是阻塞延时函数。下面列出代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152/* add user code begin Header *//**...