随笔分类 -  c++

摘要:1. 问了一个问题就是 1E 16进制转化为10进制怎么转化,16+14 (这里在强调一次 8转10以及2转10 16转10 不需要分组,也不是2的几次方) 之前是01010101111二进制转化为16进制,4位一组然后,2的几方 8转10以及2转10 16转10 转化为10进制则是, 2的几次方。 阅读全文
posted @ 2021-09-27 16:18 a-mhh 阅读(48) 评论(0) 推荐(0)
摘要:1. 创建新文件的时候,点击文件,然后点关闭解决方案 2. 3.声明 实现 调用 是不同的 4.开辟栈空间 回收栈空间 代价 但是内联函数得话就是直接就是 不存在函数栈空间回收 所以 5. ◼ 使用inline修饰函数的声明或者实现,可以使其变成内联函数建议声明和实现都增加inline修饰 ◼ 特 阅读全文
posted @ 2021-09-27 15:12 a-mhh 阅读(38) 评论(0) 推荐(0)
摘要:1. ifndefine __main_h{ define __main_h #ifdefine _cplusplus extern "C"{ #endif sum(int a ,int b) jianfa(int a ,int b) chufa(int a ,int b) #ifdefine _c 阅读全文
posted @ 2021-09-27 14:01 a-mhh 阅读(175) 评论(0) 推荐(0)
摘要:1.◼ 有时也会在编写C语言代码中直接使用extern “C” ,这样就可以直接被C++调用 如果是c++ 但是你看不到 2.宏定义 3. 接着上面总结,最好在main.h之中也 #include “main.h” 不然你在main.c中函数实现中的引用会报错 int delta(int v1, s 阅读全文
posted @ 2021-09-27 13:47 a-mhh 阅读(60) 评论(0) 推荐(0)
摘要:1. 2.源文件放 实现 3.# include 意思就是把stdio.h 文件拷贝一份 4. ◼ 由于C、C++编译规则的不同,在C、C++混合开发时,可能会经常出现以下操作C++在调用C语言API时,需要使用extern "C"修饰C语言的函数声明 5. 6. 7. 每次都要声明与实现??麻烦 阅读全文
posted @ 2021-09-27 12:58 a-mhh 阅读(57) 评论(0) 推荐(0)
摘要:1. 2.位置: 3。◼ 被extern "C"修饰的代码会按照C语言的方式去编译 4.◼ 如果函数同时有声明和实现,要让函数声明被extern "C"修饰,函数实现可以不修饰 5. 不报错 会执行 6. 报错 但是不是我们研究的c语言不会函数重载 是解决了c语言的函数重载之后,,,,二义性 阅读全文
posted @ 2021-09-27 11:36 a-mhh 阅读(200) 评论(0) 推荐(0)
摘要:1.默认参数的意思就是 予以形参默认值 2.◼ C++允许函数设置默认参数,在调用时可以根据情况省略实参。规则如下: 默认参数只能按照右到左的顺序 如果函数同时有声明、实现,默认参数只能放在函数声明中 因为函数调用一般是放在main的前面 如果放在main后面的的话 这时需要在函数的最前面发出声 阅读全文
posted @ 2021-09-27 11:04 a-mhh 阅读(343) 评论(0) 推荐(0)
摘要:1. 对项目右击,在文件资源管理器中打开文件夹 2.看debug里面的.exe 这个文件 函数的真实的名字 打开.exe文件就是还是显示,,, 3.debug模式有太多的断点信息还有许多不精简的文件生成 所以用IDA 看函数名在release模式下 还有发布 也是用release模式 4.用rele 阅读全文
posted @ 2021-09-26 22:22 a-mhh 阅读(63) 评论(0) 推荐(0)
摘要:1.◼ 本质 采用了name mangling或者叫name decoration ✓ C++编译器默认会对符号名(比如函数名)进行改编、修饰,有些地方翻译为“命名倾轧”✓ 重载时会生成多个不同的函数名,不同编译器(MSVC、g++)有不同的生成规则✓ 通过IDA打开【VS_Release_禁止优 阅读全文
posted @ 2021-09-26 21:35 a-mhh 阅读(83) 评论(0) 推荐(0)
摘要:1.◼ 规则 函数名相同参数个数不同、参数类型不同、参数顺序不同 2.◼ 注意 返回值类型与函数重载无关 调用函数时,实参的隐式类型转换可能会产生二义性 返回值类型与函数重载无关 什么意思? 返回值类型不同也不可以构成函数重载 3.强制转化 (long) 10 隐式转化long l=10 l 阅读全文
posted @ 2021-09-26 20:09 a-mhh 阅读(48) 评论(0) 推荐(0)
摘要:1. 你要用这个东西,所以得有包含它得头文件,就像java 你要用某个模块,你得包含这个模块 模块化??单片机里面学的模块化(可以在vs里面实现) 2. 当我把注册表regedit 程序删除之后成功了()就是把下面这个注册表删除的页面删除了 还有它得ide 与缓存 我就在前面改了一个,d 在没有去修 阅读全文
posted @ 2021-09-26 19:05 a-mhh 阅读(202) 评论(0) 推荐(0)