
各语言
文章平均质量分 91
各语言相关
java c c++ golang python vue c# rust等都会涉及
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c语言- 指针
给自己的学习总结帖-c语言基础-指针啊学好c语言走遍天下都不怕 ~~whaosoft aiot http://143ai.com原创 2024-05-15 18:35:10 · 276 阅读 · 1 评论 -
c语言-嵌入式专辑11~
如果你和一个优秀的程序员共事,你会发现他对他使用的工具非常熟悉,就像一个画家了解他的画具一样。----比尔.盖茨1 不能简单的认为是个工具嵌入式程序开发跟硬件密切相关,需要使用C语言来读写底层寄存器、存取数据、控制硬件等,C语言和硬件之间由编译器来联系,一些C标准不支持的硬件特性操作,由编译器提供。汇编可以很轻易的读写指定RAM地址、可以将代码段放入指定的Flash地址、可以精确的设置变量在RAM中分布等等,所有这些操作,在深入了解编译器后,也可以使用C语言实现。C语言标准并非完美,有着数目繁多的未定义行为原创 2024-04-26 14:04:45 · 476 阅读 · 0 评论 -
c语言基础10
给自己的学习总结帖-c语言基础啊 学好c语言走遍天下都不怕 ~~whaosoft aiot http://143ai.com原创 2024-04-22 14:50:18 · 751 阅读 · 1 评论 -
c语言- C++~ 面试题系列
声明的作用主要两点,第一,提供链接时需要的符号信息,这些信息存储在目标文件的重定位表和符号表当中;第二,提供类型大小信息,c++采取的是单文件编译策略,当不知道某个符号对应类型的定义的时候,需要在链接前预留出合适大小的内存空间,供链接时填充。引入标准布局类型是为了向C语言兼容,使得用户能够通过对象第一个成员的指针类型指向对象;引入trivial类型是为了提高对象初始化效率,memcpy比构造函数初始化效率效率更高。不考虑继承,一个类没有虚函数、所有非静态变量的访问权限相同,则是标准布局类型;whaosoft原创 2024-04-21 00:34:12 · 265 阅读 · 1 评论 -
c语言基础9
给自己的学习总结帖-c语言基础啊 学好c语言走遍天下都不怕 ~~whaosoft aiot http://143ai.com原创 2024-02-29 19:48:36 · 461 阅读 · 1 评论 -
c语言-嵌入式专辑6~
给自己的学习总结帖~~ whaosoft aiot http://143ai.com 这里仅都是c语言 嵌入式相关代码第6季啊原创 2024-02-24 20:30:14 · 409 阅读 · 1 评论 -
c语言基础8~结构体
给自己的学习总结帖-c结构体1~~whaosoft aiot http://143ai.com原创 2024-02-24 20:23:23 · 425 阅读 · 1 评论 -
c语言-嵌入式专辑5~面试题系列
给自己的学习总结帖~~ whaosoft aiot http://143ai.com 这里仅都是c语言 嵌入式相关代码第5季啊原创 2024-02-23 11:33:48 · 406 阅读 · 1 评论 -
c++基础2
这次是C++基础2哦 给自己的学习总结帖~~whaosoft aiot http://143ai.com不过这次都是c++原创 2024-01-26 07:58:37 · 433 阅读 · 1 评论 -
c++基础1
7哦 给自己的学习总结帖~~ whaosoft。原创 2024-01-11 07:44:25 · 380 阅读 · 1 评论 -
c语言-嵌入式专辑4~
给自己的学习总结帖~~ whaosoft aiot http://143ai.com 这里仅都是c语言 嵌入式相关代码第4季啊原创 2023-11-29 09:32:22 · 1328 阅读 · 2 评论 -
c语言基础6~位
这次是C语言基础4哦 给自己的学习总结帖~~ whaosoft aiot http://143ai.com原创 2023-11-06 17:57:11 · 146 阅读 · 1 评论 -
c语言-嵌入式专辑3~
给自己的学习总结帖~~ whaosoft aiot http://143ai.com 这里仅都是c语言 嵌入式相关代码第3季啊原创 2023-10-22 21:06:11 · 179 阅读 · 1 评论 -
c语言基础5~数据结构
这次是C语言实现数据结构哦 给自己的学习总结帖~~whaosoftaiothttp://143ai.com原创 2023-10-06 23:14:27 · 127 阅读 · 1 评论 -
Python~ .py、.ipynb、.pyi、.pyc、.pyd
pyc是Python字节码文件的扩展名,用于存储已编译的Python源代码的中间表示形式,因为是二进制文件所以我们无法正常阅读里面的代码。由于C或C++的执行速度通常比纯Python代码快,可以使用扩展模块来优化Python代码的性能,尤其是对于计算密集型任务。.pyd文件是编译后的二进制文件,它包含了编译后的扩展模块代码以及与Python解释器交互所需的信息。.pyd是Python扩展模块的扩展名,用于表示使用C或C++编写的二进制Python扩展模块文件。如果你也懵懵的, whaosoft aiot h原创 2023-09-07 21:55:24 · 208 阅读 · 1 评论 -
c基础13-嵌入式c
define是C语言中的预处理命令,它用于宏定义(定义的是常量),可以提高源代码的可读性,为编程提供方便。常见的格式:定义标识符HSE_VALUE的值为8000000,数字后的U表示unsigned的意思。至于define宏定义的其他一些知识,比如宏定义带参数这里我们就不多讲解。 whaosoft aiot http://143ai.com原创 2023-09-07 21:21:26 · 282 阅读 · 1 评论 -
C基础-12
我们刚刚申请了一个名叫Info的结构体类型,那么理论上我们可以像声明其他变量的操作一样,去声明我们的结构体操作,但是C语言中规定,声明结构体变量的时候,struct关键字是不可少的。struct 结构体类型名 结构体变量名。whaosoft aiot http://143ai.com原创 2023-08-01 17:57:17 · 380 阅读 · 1 评论 -
Python真正多线程要来了
中期来看,在我们确信得到足够的社区支持并使 no-GIL 的生产使用可行后,我们将支持 no-GIL 构建,但不是默认方式,而是在某个目标日期或某个 Python 版本中使它成为默认方式。这也就意味着我们会回滚所有工作,因此在我们确定要将 no-GIL 设为默认方式之前,特定于 no-GIL 的代码在某种程度上应是可识别的。然而,GIL 存在一个弊端,即在同一时刻只能有一个线程在一个 CPU 上执行,无法将多个线程映射到多个 CPU 上,使得 Python 并不能实现真正的多线程并发,从而降低了执行效率。原创 2023-07-31 16:40:54 · 269 阅读 · 1 评论 -
c语言基础4~内存2
给自己的学习总结帖-c内存2~~whaosoft aiot http://143ai.com原创 2023-07-26 16:19:48 · 154 阅读 · 1 评论 -
c语言-嵌入式专辑2~
给自己的学习总结帖~~ whaosoft aiot http://143ai.com 这里仅都是c语言 嵌入式相关代码第2季啊原创 2023-07-18 23:12:04 · 239 阅读 · 1 评论 -
C基础-11
状态机模式是一种行为模式,通过多态实现不同状态的调转行为的确是一种很好的方法,只可惜在嵌入式环境下,有时只能写纯C代码,并且还需要考虑代码的重入和多任务请求跳转等情形,因此实现起来着实需要一番考虑。如上图所示,{s1, s2, s3}均为状态,箭头c1/a1表示在s1状态、输入为c1时,跳转到s2,并进行a1操作。当某个状态遇到不能识别的输入时,就默认进入陷阱状态,在陷阱状态中,不论遇到怎样的输入都不能跳出。近日在看了一个开源系统时,看到了一个状态机的实现,也学着写了一个,与大家分享。whaosoft原创 2023-07-16 22:56:13 · 159 阅读 · 1 评论 -
C基础-10
为了区别空队列和满队列,数组多加一个元素,这个元素是不确定的,是可以移动的,它将保证当队列为满时,还空留了一个位置。所以,通过在循环数组中加多了一个元素,就能够区分队列是空的还是满的。whaosoft aiot http://143ai.com原创 2023-06-23 21:05:53 · 129 阅读 · 1 评论 -
c语言-嵌入式专辑1~
给自己的学习总结帖~~ whaosoft这里仅都是c语言 嵌入式相关的代码啊。原创 2023-07-02 19:45:17 · 233 阅读 · 1 评论 -
PyCharm~常用快捷键
搬来一个水贴啊~~ whaosoft aiot http://143ai.com原创 2023-06-19 23:54:57 · 188 阅读 · 1 评论 -
C语言基础-合集2
C语言基础-合集2 whaosoft aiot http://143ai.com原创 2023-04-02 17:37:50 · 108 阅读 · 1 评论 -
c语言基础3~内存
未初始化局部静态变量(或初始化为0的局部静态变量)放到.bss段,对于未初始化全局变量(或初始化为0的全局变量),不同语言与编译器的实现有不同的处理,有的只是在.baa段预留一个未定义的全局变量符号,等到最终链接成可执行文件的时候再在 .bss 段分配空间。单独设立.rodata段的好处有很多,比如语义上支持了C的const常量,而且操作系统在加载的时候可以将.rodata段的内容映射为只读区,这样对于这个段的任何修改都会被判为非法,保证了程序的安全性。一般数据段都是可读,可写,可执行的。whaosoft原创 2023-06-11 19:59:13 · 317 阅读 · 1 评论 -
c语言基础3
在下面原型中,参数s和t的类型是(void *),cs和ct的类型是(const void *),n的类型是size_t,c的类型是int(转换为unsigned char)。所有字符串函数列在下表里,函数描述采用如下约定:s、t表示 (char *)类型的参数,cs、ct表示(const char*)类型的参数(它们都应表示字符串)。div_t类型的成分是int类型的quot和rem,ldiv_t类型的成分是long类型的quot和rem。在许多执行环境里,可以用这个函数去查看“环境变量”的值。原创 2023-05-04 17:32:14 · 813 阅读 · 1 评论 -
C基础-9
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入交易系统。温度,N=1 ~ 4。b. 如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值。不能迅速反应交易系统当前所受干扰的严重程度,滤波效果差。对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。不能消除滤波频率高于采样频率的1/2的干扰信号。a. 如果本次值与上次值之差 whaosoft ai原创 2023-03-01 20:50:33 · 211 阅读 · 1 评论 -
C基础-8
更有趣的是,这些“智能指针”同样是借助于有保障的构造/析构函数的自动调用机制设计的。因此,C++做了一个约定:和类名相同的无返回函数就是它的初始化函数(构造函数),编译器保证在创建一个对象之后、允许你使用它之前,它必定会在这个对象对应的内存上执行构造函数,按你的要求把对象装修好。因此,当其它语言的程序员觉得离开“垃圾回收”都活不成时,资深C++程序员轻蔑的说“资源可不仅仅是内存”——没有严格的RAII机制,没有构造/析构函数调用时机的可靠保证,其它语言在管理内存之外的资源时反而要比C++困难whaosoft原创 2023-02-26 18:47:00 · 195 阅读 · 1 评论 -
C基础-7
通常所说的GCC是GUN Compiler Collection的简称,是Linux系统上常用的编译工具。GCC工具链软件包括GCC、Binutils、C运行库等。这里我们需要记住的是循环必须终止于0(因此,如果在50到80之间循环,这不会起作用),并且循环计数器是递减的。使用递增循环计数器的代码不享有这种优化。指针我们应该尽可能的使用引用值的方式传递结构数据,也就是说使用指针,否则传递的数据会被拷贝到栈中,从而降低程序的性能。函数通过参数接受结构数据的指针,如果我们确定不改变 whao原创 2023-02-10 19:20:36 · 156 阅读 · 1 评论 -
C语言~回调
函数指针常量 :Max;函数指针变量:p;数名调用如果都得如(*myFun)(10)这样,那书写与读起来都是不方便和不习惯的。所以C语言的设计者们才会设计成又可允许myFun(10)这种形式地调用(这样方便多了,并与数学中的函数形式一样)。函数指针变量也可以存入一个数组内。数组的声明方法:int (*fArray[10]) ( int );我们先来看看百度百科是如何定义回调函数的:回调函数就是一个通过函数指针调用的函数。whaosoft aiot http://143ai.com原创 2023-01-05 12:15:06 · 289 阅读 · 1 评论 -
C~回调函数
函数指针常量 :Max;函数指针变量:p;数名调用如果都得如(*myFun)(10)这样,那书写与读起来都是不方便和不习惯的。所以C语言的设计者们才会设计成又可允许myFun(10)这种形式地调用(这样方便多了,并与数学中的函数形式一样)。函数指针变量也可以存入一个数组内。数组的声明方法:int (*fArray[10]) ( int );我们先来看看百度百科是如何定义回调函数的:回调函数就是一个通过函数指针调用的函数。whaosoft aiot http://143ai.com原创 2022-12-21 17:35:33 · 649 阅读 · 1 评论 -
PyTorch~自定义数据读取
根据这个标准化的代码模板,我们只需要根据自己的数据读取任务,分别往__init__()、__getitem__()和__len__()三个方法里添加读取逻辑即可。此时在数据读取的pipeline中我们需要在__init__()方法中利用pandas把csv文件中包含的图片地址和标签融合进去。__init__()函数用于初始化数据读取逻辑,比如读取包含标签和图片地址的csv文件、定义transform组合等因为这个数据集已经分好了训练集和验证集所以在读取和transforms的时候需要进行区分whaosoft原创 2022-12-08 22:33:31 · 1570 阅读 · 4 评论 -
python合集1
bounds_error(布尔类型)如果为 True,则在任何时候尝试对 x 范围之外的值进行插值时都会引发 ValueError(需要外插)。如果为 False,则为越界值分配 fill_value。默认情况下会报错,除非fill_value="extrapolate"。fill_value,如果是 ndarray(或浮点数),则此值将用于填充数据范围之外的请求点。如果未提供,则默认值为 NaN。类数组必须正确广播到非插值轴的尺寸。如果是双元素元组,则第一个元素用作 x_new < x[0] 的填充值原创 2022-11-27 23:51:43 · 510 阅读 · 1 评论 -
go语言之不必要的拷贝
但问题是,rule存储在RuleSet这个切片(slice)里,按Go语言的规则可以确信他已经在堆中了。对于每个结构体,把它看作纯值或纯指针,压根就不去使用&这种取地址的操作,避免隐式的内存分配。功能很简单,就是根据CODEOWNERS文件中定义的规则匹配,写在越下面的规则优先级越高。只有在“逃逸”也就是变量的作用域超出所在的栈时,才把变量分配到堆上,减轻运行时GC的压力但就是这样一个简单的程序却出现了性能问题,处理中等大小的仓库就很慢了后面用“&”取地址时候创建了一个逃逸的指针指向它的副本whaosoft原创 2022-11-20 22:34:57 · 543 阅读 · 1 评论 -
Python的常用Matplotlib图形工具
一个python的各种图工具的总结哦Scatteplot是用于研究两个变量之间关系的经典和基本图。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在Matplotlib,你可以方便地使用。有时,您希望在边界内显示一组点以强调其重要性。在此示例中,您将从应该被环绕的数据帧中获取记录,并将其传递给下面的代码中描述的记录。encircle()如果你想了解两个变量如何相互改变,那么最合适的线就是要走的路。下图显示了数据中各组之间最佳拟合线的差异。whaosoft aiot http://143ai.com原创 2022-11-13 22:25:54 · 588 阅读 · 2 评论 -
C语言~指针变量
函数(如下例的funcForSpace())内定义局部变量(如下例的a)保存在一个函数的栈帧上,当一个函数执行完毕后,另一个函数(如下例的stackFrame_reuse())执行时,该空间会被stackFrame_reuse()重复使用,a所使用的空间将不复存在,所以当一个指针变量指向局部变量的内存空间时,其地址值传递给主调函数时,并不是一个有效值。二维数组是数组的数组,n维数组是n-1维数组的数组。指针变量的值就是其指向的空间的地址,指向的地址的空间大小就是指针变量指向类型的大小。原创 2022-11-01 11:54:30 · 375 阅读 · 1 评论 -
C基础-6
在定义时给数组赋初值,如果是给全部的数组元素都赋了初值,那么可以省略一维数组的大小,若是二维数组则只能省略其第一维的大小,而第二维的大小必须明确指定。如果在定义时只是给部分元素赋了初值,那么数组的大小是不能省略的。例如要定义一个三个元素的一维整型数组,分别赋初值1,2,3,则可如下定义:int a[]={1,2,3};此时省略了数组的大小。但是如果定义的是一个具有四个元素的数组,也赋了三个初值,则应该定义如下:int a[4]={1,2,3},注意此时的长度不可省略。whaosoft aiot 143ai原创 2022-10-29 18:44:22 · 341 阅读 · 1 评论 -
C语言堆栈
堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。栈:在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。原创 2022-10-11 17:18:39 · 209 阅读 · 1 评论 -
C语言-volatile
一些编译器允许你把所有的变量隐式的声明为volatile。请抵制这种诱惑,因为它会令你不再思考,当然也会导致生成低效的代码。另外,也不要责怪优化器或直接把它关掉。现代的优化器已经足够优秀,我已经记不清上次遇到优化bug是什么时候了。相反,我常常看到程序员们错误的使用volatile。如果你被要求去修改一个很古怪的代码,请在程序中查找一下volatile关键字;如果你什么也没有找到,上面讨论的例子可以向你提供一些解决问题的思路。这个也顺便说一下哦。原创 2022-10-06 00:36:42 · 9713 阅读 · 3 评论