随笔分类 -  编程 / c/c++

摘要:GMP大数库学习 了解 大数库 在网络安全技术领域中各种加密算法的软件实现始终有一个共同话题是如何在普通的PC机上实现大数运算。普通的PC机内部字长最多时32位或64位,但各种加密算法中为了达到一定安全强度,都要求在128位、512位或1024位字长下进行加减乘除等数学运算,这叫做“大数运算”。 在 阅读全文
posted @ 2023-05-02 22:13 PamShao 阅读(4485) 评论(0) 推荐(0) 编辑
摘要:gcc/g++编译 gcc 本节来自「参考1」 简介 GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言,它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支 阅读全文
posted @ 2023-05-02 11:44 PamShao 阅读(142) 评论(0) 推荐(0) 编辑
摘要:学习gtest测试 了解 单元测试 单元:函数、类等 gtest gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供 阅读全文
posted @ 2023-05-01 19:44 PamShao 阅读(675) 评论(0) 推荐(0) 编辑
摘要:cmake-4学习,参考 cmake构建c++项目快速入门2-1 cmake构建c++项目快速入门2-2 了解 cmake的工作原理: Windows下用cmake编译cmake (1)先下载cmake(exe) (2)编译源码文件 # -S表示源文件夹下;-B表示新建一个文件夹build,并将编译 阅读全文
posted @ 2022-12-24 18:21 PamShao 阅读(126) 评论(0) 推荐(0) 编辑
摘要:make学习,参考「Makefile 20分钟入门,简简单单,展示如何使用Makefile管理和编译C++代码」 程序见:https://github.com/ShiqiYu/CPP/tree/main/week03/examples/lab 文件结构 make语法 g++ #「只编译不链接」编译. 阅读全文
posted @ 2022-12-15 22:32 PamShao 阅读(79) 评论(0) 推荐(0) 编辑
摘要:bazel学习 a fast, scalable, multi-language and extensible build system bazel就是一个编译打包工具,类似于make、cmake等 安装 ⚠️:Centos7系统安装bazel4 参考:https://docs.bazel.buil 阅读全文
posted @ 2022-11-22 17:21 PamShao 阅读(1618) 评论(0) 推荐(1) 编辑
摘要:了解C++的Eigen库,主要内容来自:https://blog.csdn.net/hongge_smile/article/details/107296658 ,并加入自己的笔记。 ##介绍 Eigen is a C++ template library for linear algebra: m 阅读全文
posted @ 2022-07-02 12:06 PamShao 阅读(2038) 评论(0) 推荐(1) 编辑
摘要:在看开源库时,遇到很多条件编译指令,系统学习一波,内容转载自:https://www.cnblogs.com/wind-under-the-wing/p/14018825.html,并加入自己的笔记。 ##作用 根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译,条件编译是预处理程序的功 阅读全文
posted @ 2022-06-30 18:35 PamShao 阅读(457) 评论(0) 推荐(0) 编辑
摘要:最近跟着郑莉老师的视频,学习了C++基础,在此记录视频的笔记,方便查阅。路漫漫其修远兮~ (1)c++:-0 (2)c++:-1 (3)c++:-2 (4)c++:-3 (5)c++:-4 (6)c++:-5 (7)c++:-6 (8)c++:-7 (9)c++:-8 (10)c++:-9 视频地址 阅读全文
posted @ 2022-05-21 17:11 PamShao 阅读(188) 评论(0) 推荐(0) 编辑
摘要:上节(c++:-8)主要学习了C的流类库和输入输出,本节学习C的异常处理。 ##异常处理 ###介绍 (1)异常处理的基本思想: (2)异常处理的语法: (3)举例:处理除0异常 #include <iostream> using namespace std; int divide(int x, i 阅读全文
posted @ 2022-05-21 17:02 PamShao 阅读(218) 评论(0) 推荐(0) 编辑
摘要:上一节学习了C的STL库和范型:c++:-7,本节学习c的输入输出和流类库。 ##I/O流 (1)程序与外界环境的信息交换 当程序与外界环境进行信息交换时,存在着两个对象:程序中的对象、文件对象。 流是一种抽象,负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动。 (2)流对象与文件操作 阅读全文
posted @ 2022-05-20 14:21 PamShao 阅读(304) 评论(0) 推荐(0) 编辑
摘要:上一节主要学习C中的函数模版、数据结构以及排序查找操作:c++:-6,本节学习C的范型程序设计和STL: ##范型程序设计 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 ###概念 (1)用来界定具备一定功能的数据类型。例如 阅读全文
posted @ 2022-05-13 16:03 PamShao 阅读(628) 评论(0) 推荐(0) 编辑
摘要:基础知识 容器 容器就是一些模板类的集合,不同之处就是容器中封装的是数据结构 1、序列容器 主要有vector向量容器、list列表容器、deque双端队列容器 元素在容器中是无序的 2、排序容器 包括set容器,multiset多重集合容器、map映射容器、multimap多重映射容器 元素默认从 阅读全文
posted @ 2022-05-13 10:44 PamShao 阅读(224) 评论(0) 推荐(1) 编辑
摘要:上一节学习了C中的多态性:c++:-5,本节学习C的函数模版、数据结构以及排序查找操作: ##模版 ###函数模版 思考:如果重载的函数,其解决问题的逻辑是一致的、函数体语句相同,只是处理的数据类型不同,那么写多个相同的函数体,是重复劳动,而且还可能因为代码的冗余造成不一致性。 解决:使用模板 例: 阅读全文
posted @ 2022-05-08 19:40 PamShao 阅读(538) 评论(0) 推荐(0) 编辑
摘要:上一节学习C中的继承和派生:c++:-4,本节学习C的多态。 ##运算符重载 思考:用“+”、“-”能够实现复数的加减运算吗? 实现复数加减运算的方法 ——重载“+”、“-”运算符 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。 C++ 几乎可以重载全部 阅读全文
posted @ 2022-05-07 12:57 PamShao 阅读(498) 评论(0) 推荐(0) 编辑
摘要:上一节学习了C的数组,指针和字符串,c++:-3。本节学习C的继承与派生: ##继承 ###继承和派生的关系 继承与派生是同一过程从不同的角度看 保持已有类的特性而构造新类的过程称为继承 在已有类的基础上新增自己的特性而产生新类的过程称为派生。 被继承的已有类称为基类(或父类) 派生出的新类称为派生 阅读全文
posted @ 2022-05-05 23:27 PamShao 阅读(318) 评论(0) 推荐(0) 编辑
摘要:上一节学习了C的函数:c++:-2,本节学习C的数组、指针和字符串 ##数组 ###定义和初始化 ####定义 例如:int a[10]; 表示a为整型数组,有10个元素:a[0]...a[9] 例如: int a[5][3]; 表示a为整型二维数组,其中第一维有5个下标(04),第二维有3个下标( 阅读全文
posted @ 2022-05-05 10:23 PamShao 阅读(456) 评论(0) 推荐(0) 编辑
摘要:上节介绍C++的函数介绍:c++:-1,本节学习类与对象 ##类与对象 ###定义 ####类定义 class 类名称 { public: 公有成员(外部接口) private: 私有成员 protected: 保护型成员 }; ####类内初始值 可以为数据成员提供一个类内初始值 在创建对象时,类 阅读全文
posted @ 2022-05-02 16:37 PamShao 阅读(264) 评论(0) 推荐(0) 编辑
摘要:上节介绍C基础:c++:-0,本节介绍C中函数使用。 ##函数 ###函数调用 调用函数需要先声明函数原型 嵌套调用: ###参数传递 在函数被调用时才分配形参的存储单元 实参可以是常量、变量或表达式 实参类型必须与形参相符 值传递是传递参数值,即单向传递 引用传递可以实现双向传递 常引用作参数可以 阅读全文
posted @ 2022-05-01 00:09 PamShao 阅读(409) 评论(0) 推荐(0) 编辑
摘要:需求:将一个C工程中的核心代码封装为静态文件:lib。 ##环境 工具:VC6.0++ 语言:c 以封装一个DES工程为例 ##封装 (1)新建一个静态工程 (2)新建c文件和h文件 (3)挑选封装内容 在原DES项目中,挑选合适的函数或者结构体: (4)写入c文件和h文件 编译生成lib文件,并将 阅读全文
posted @ 2022-04-23 15:18 PamShao 阅读(192) 评论(0) 推荐(0) 编辑