自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 C#中Setting函数保存配置的方法

快速自动生成配置文件

2023-12-07 10:06:16 277

原创 C#工程在VS中报错:无法创建新的堆栈防护页面

这就让我考虑,是不是第二个自定义控件类写错了,于是我检查第二个控件,发现和第一个控件的写法在逻辑上是一样的,不应当出现这样的错误。最近,在做项目的时候遇见这样一个问题,自绘了两个自定义的控件,第一个控件拖到winform中去的时候,没有问题,正常运行。然后我考虑是第一个控件和第二个控件互相之间有影响,于是删除第一个控件,改为先放入第二个控件,发现首先放入第二控件的时候,仍然报错,说明是第二控件产生了问题。而我的代码作为一种UI程序,基本不会使用递归这种方法,所以就考虑是否是不小心出现了死循环。

2023-10-17 17:41:51 3240 1

原创 C#中的ref引用变量

而在不使用 ref 关键字时,参数将按值传递,这意味着在方法内对参数的更改不会影响原始变量。ref引用参数的原理是通过将参数的内存地址传递给方法,使得方法可以直接操作原始变量的内存。需要注意的是,使用ref引用参数时需要保证传递的参数已经初始化,并且在方法内部也需要对参数进行初始化。使用 ref 关键字可以让我们在方法内部修改原始变量的值,而不使用 ref 关键字则只能修改方法内部的副本。ref引用参数的作用是允许方法直接修改原始变量的值,而不是传递变量的副本。修改方法内部的参数值,并将更改反映到调用方。

2023-09-01 10:22:44 237 1

原创 C#中的方法(2)虚方法、重写方法、抽象方法(and接口)、扩展方法

于是乎,扩展就可以决定这些人的动作,可以指定某些人去作某些动作(取参数,规定全新的方法的实现),可以指定某些人去做他们会的动作来达成一定的目的(取参数和方法,来获得新的方法的实现)。而接口就是医院,里边的规范是病人,病人可以是大老板,也可是扫大街的(规范可以不同),但是病人就只是病人,现在有个食客(虚方法)想去医院里吃火锅。关键点:重写与重载的不同是,重载重点在参数类型、个数、顺序不同的情况下,引用同一种方法来做不同的事情,本质上重载是同一个方法,只不过入口不同。与后边的抽象方法、接口的对应的形象的解释。

2023-08-27 16:12:37 181

原创 C#中的方法(1)静态方法、构造方法、析构方法

*垃圾回收机制:**回收非托管资源—windows窗口句柄,数据库链接、GDI对象、独占文件锁等等对象。APPlicationContext,Brush,Compenent,ComponentDesigner,Container,Context,Cursor,FileStream,Font,Icon,Image,Matrix,Object,ODBC DataReader,OleDBDataReader,Pen,Regex,Socket,StreamWriter,Timer,Tooltip等______

2023-08-27 16:07:35 143

原创 C#快速modbus CRC验证使用

CRC验证_Modbus_C#

2023-03-11 11:56:50 519

原创 异或和校验(BCC)

BCC

2023-03-08 10:39:25 1493

转载 转载:C#中chart的一些属性

C#中chart的一些属性

2023-02-24 16:52:16 1200

原创 COMSOL学习笔记1

COMSOL学习记录

2022-11-24 12:54:09 1247

原创 关于单点接地的学习总结

不能忽略的是,接地线也是有阻抗的。当1器件作用时,A点电位在实际上是被拉高的,这对于2、3器件来说是无妄之灾。而对于不同的支路本身,就可以串联上相同种类的 器件,比如一支路串联数字信号的器件,二支路串联模拟信号的器件。而且对于串联式来说,串在同一线路上的元器件类型只能是同类型的,在本土中,图左的串联式电路三个器件只能是数字器件或者模拟器件,不然数字信号和模拟信号之间的相互干扰会直接影响器件的作用效果。并联方式在一定程度上也在解决这个问题,对于1、2、3器件来说,动作时只会收到自身动作的影响。...

2022-08-10 14:32:58 2524

原创 【重新学习C Day11 for 嵌入式Linux】

Day 11Makefile工程文件的编写还要注意2.typedef和 和define 还是有区别的 区别在于typedef是完全给数据类型换了个名字,功能是完全继承的 而define只是把某个数据类型变成了某几个字母#define IP int *IP p,q int *p,q;typedef int *IP;IP p,q int *p,*q;typedef int FUNC(int);-----> int(int) FUNC;FUNC f; -----> int

2022-04-20 07:15:00 66

原创 【重新学习C Day10 for 嵌入式Linux】

Day 101.结构体中地址对齐在一块连续的存储空间中 地址号码要能够整除数据类型所占大小 不然就要往下++1设定0可以整除任何数设下面有连续空间 struct 中存放 int char float 类型的内容 (不一定从0开始 这里只做说明用)0 int开始 // 0%4 可以整除 从0地址开始123 int结束4 char开始 char结束 // 4%1 可以整除 5 // 5%4 不可以整除 所以float 不能从这里开始 +

2022-04-18 07:30:00 100

原创 【重新学习C Day9 for 嵌入式Linux】

Day 91.递归的理解要清晰 要有出栈入栈的概念2.函数与数组 只给函数提供一个首地址是不可以的 想完全的在函数中完成对数组的使用 还需要将数组的长度作为参数写入 否则在函数内部将无法判断数组的长度 这是很糟糕的3.函数与几维数组之间的关联 都是差不多的指针函数:返回值是指针 比如 int * find(int)函数指针:一个指针指向了函数 比如 *int (p)(int)#include <stdio.h>#include <stdlib.h>i

2022-04-16 07:30:00 901

原创 【重新学习C Day8 for 嵌入式Linux】

Day81.Const可以起到固定成常量的作用指针常量 int *const p 指针的指向不可以被改变 但是指针指向的内容可以被改变 int *const 很明显 保护的是一个p 是一个指针 所以意味着保护的是一个地址常量指针 const int *p or int const *p 指针指向的内容不可以被改变 但是指针的指向可以被改变 p 很明显 不管是const int 还是int const 保护的都是p 是一个指针所指向的内容先看到const 先读常量;先看到* 先读

2022-04-15 08:30:00 806

原创 【重新学习C Day7 for 嵌入式Linux】

Day 71.指针在一个平台下所占的内存是确定的大小 这和它的数据类型无关但是不同类型的指针在做运算的时候所代表的意义是不相同的指针一旦定义出来就要给一个明确的指向2.将指针指向空 是为了避免野指针的出现 NULL也是一个确定的指向 当我们还不知道指针需要指向哪里的时候指针可以指向这里3.再次强调一下 int p 并非是 一个int 类型的内容 而是一个 int 类型的内容 至于为什么非要把p写在一块 我觉得吧 确实是挺好看的 反正C语言这个东西本身就是认为规定的 不是嘛4.再次强调一下

2022-04-14 08:30:00 69

原创 【重新学习C Day5、6 for 嵌入式Linux】

Day 5.61.二维数组:地址加一其实是换行 加一就是换一行int A[M][N]A只是第一行的起始位置A+1 是第二行的起始位置这一点和一维数组是不一样的 int A[M]A+1只是跳转一个整型当字符数组在定义的时候 ,如果使用字符串定义的方法 ,要注意尾0的存在strlen是以尾0为结束标记的 比如char q[]=”hello\0abc”;printf(“%d\n”,strlen(q));printf(“%d\n”,sizeof(q));前者将打印5 而后者打印1

2022-04-13 08:00:00 344

原创 【重新学习C Day4 for 嵌入式Linux】

Day 4修饰符*定义宏的时候涉及到算式 尽量加圆括号()一种测试方法 以及错误#include <stdio.h>#include <stdlib.h>int main(){ printf( “[%s:%d] before while() .” , __FUNCTION__ , __LINE__ ); while(1); printf( “[%s:%d] after while() .” , __FUNCTION__ , __LINE__

2022-04-09 21:35:33 421

原创 【重新学习C Day3 for 嵌入式Linux】

Day 3逻辑运算符的 “短路” 特性#include < stdio.h>#include <stdlib.h>int main(){ int a=1, b=2, c=3 , d=4; int n=1, m=1; ( m =a>b) && ( n=c>d ); printf( “m=%d \n n=%d\n”, m , n); exit(0);}这里会出现 && 后()中的运算式不会结

2022-04-08 22:49:38 98 1

原创 重新学习C Day2 for 嵌入式Linux

Day 2register寄存器类型的一个数据不能打印出地址查看或者使用 static 型的变量会被初始为0或 null static常修饰变量 使变量限制在当前范围内 可以一定程度上避免全局变量的重复定义static 修饰函数时 函数也会被局限在当前的范围里 (当前的.c中)即防止当前函数对外拓展 这就意味着 不同的.c中不能直接互相调用 使用static修饰函数但是可以——通过在 一个.c中用非static修饰的函数作为中转 这个非static修饰的函数在同一个.c中调用static

2022-04-07 08:15:00 661

原创 【重新学习C Day1 for 嵌入式Linux】

重新学习CDay 11.Printf 是有返回值的 如果在进程中没有给 return 或者 exit 那么printf给的返回值是一个有确定含义的返回值2.特别要求精度的比较时,要注意计算机中float并不是数学上的运算 毫无顾忌的使用float会导致错误的发生3.正则表达式中使用自增 i++这样的内容的时候要小心 因为在正则表达式中 ,成立的项也许会自增两次 这和运算优先级有着密切的关系 一般来说 带参宏的可靠性是低于同样功能的函数的 为了保证带参宏的可靠性 解决办法应该是加入代替值 如#in

2022-04-06 08:00:00 881 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除