<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yyy____________的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yyy____________</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yyy____________]]></copyright><item><title><![CDATA[C++学习总结——C++ 标准库(9)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129443172</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129443172</guid><author>yyy____________</author><pubDate>Mon, 13 Mar 2023 09:00:00 +0800</pubDate><description><![CDATA[2. 头文件 cstdlib（或stdlib.h）3. 头文件 cctype（或ctype.h）含有很多，具体使用时可以参考用户手册。cmath（或math.h）]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 函数名重载(8)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129443104</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129443104</guid><author>yyy____________</author><pubDate>Sun, 12 Mar 2023 09:00:00 +0800</pubDate><description><![CDATA[注：如果两个函数的参数类型和个数都相同，知识他们的返回值类型不同，不能对其进行函数名重载，因为函数调用时不能区分调用的是哪个函数。对于含有两个或两个以上参数的重载函数绑定问题，原则是先绑定最佳匹配（也就是参数对应个数越多）。（和函数名重载没有太大关系：函数名可转换成函数函数指针）函数名重载：给多个不同的函数（参数的类型或个数有所不同）取相同的名字。6）每个标准转换都是平等的（也就是1到5的优先级相同）3）零可以转换成任何算术类型或指针类型。2）枚举类型可以转换成任何算术类型。1）任何算术类型可以互相转换。]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 宏与内联函数(7)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129443056</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129443056</guid><author>yyy____________</author><pubDate>Sat, 11 Mar 2023 09:00:00 +0800</pubDate><description><![CDATA[其作用是建议(具体有没有不一定，有些函数加上也不会作为内联函数对待，如递归函数)编译程序把该函数的函数体展开到调用点，这样就避免了函数调用的开销，从而提高了函数调用的效率。因为函数调用需要开销（如：保护调用者的运行环境、参数传递、执行调用指令等），所以函数调用会带来程序执行效率的下降，特别是对一些小函数的频繁调用将是程序的效率有很大的降低。不足：1）重复计算，如max((x+1),(y+2))，因为其只是进行单纯的文字替换。2）#define () 3）#define ]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 变量的生存期(6)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129435319</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129435319</guid><author>yyy____________</author><pubDate>Fri, 10 Mar 2023 08:56:03 +0800</pubDate><description><![CDATA[register: 自动生存期，与auto不同在于，建议（不是一定）编译程序把该局部变量的空间分配在CPU寄存器中，其目的是为了提高对局部变量的访问效率。静态数据区和代码区的大小是固定的，而栈区和堆区的大小随程序的运行不断变化（不过操作系统会对其空间最大值有一定的限制）。3.  编译程序隐式自动将静态生存期的变量按位模式初始化为0，其他变量不对其进行初始化（使用空间中的已有值，因此是不固定的）栈区： auto存储类的局部变量、函数的形参、函数调用时的有关信息（如返回值）如：局部变量、函数的参数。]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 标识符的作用域(5)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129435284</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129435284</guid><author>yyy____________</author><pubDate>Fri, 10 Mar 2023 08:55:08 +0800</pubDate><description><![CDATA[一个函数内的复合语句又是一个局部作用域，也就是在函数内有某个变量时，复合语句中可以有另外一个同名字的变量。//其中的x和y的作用域从“(”开始到")"结束。包括：局部作用域、全局作用域、文件作用域、函数作用域、函数原型作用域、名空间作用域、类作用域。指在函数定义或者复合语句中，从标识符的定义点开始到函数或者复合语句结束之间的程序段。语句标号（如goto语句中使用的语句标识）是唯一的具有函数作用域的标识符。指用于函数声明的函数原型，其中的形参的作用域从函数原型开始到函数原型结束。指单独的一个源文件。]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ main函数的返回值(4)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129435272</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129435272</guid><author>yyy____________</author><pubDate>Fri, 10 Mar 2023 08:52:24 +0800</pubDate><description><![CDATA[main函数通过返回值把整个程序的执行情况告诉调用者（通常是操作系统，但是操作系统通常会忽视main函数的返回值），一般情况下return 0表示正常结束，return -1表示非正常结束。main函数也可以不写return语句，这时当执行完最后一条语句后自动执行一条“return 0;其他函数的返回值原理同此。]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 子程序间的数据传递(3)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129418967</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129418967</guid><author>yyy____________</author><pubDate>Thu, 09 Mar 2023 11:05:58 +0800</pubDate><description><![CDATA[2）地址/引用传递：传递实参的地址，可以提高参数传递的效率，可以返回多个执行结果，但是会降低数据访问效率（通过间接的方式访问传输的数据）、可通过形参改变实参。全局变量可以定义在函数外的任何地方，但是如果在使用一个全局变量时未见到它的定义，就要使用extern语句对其进行声明。1）值传递：传递实参的一个拷贝，可以阻止子程序通过形参改变实参，但最多只能返回一个值。2. 通过子程序的参数和返回值机制。]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++ 无条件转移控制(2)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129418919</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129418919</guid><author>yyy____________</author><pubDate>Thu, 09 Mar 2023 11:04:14 +0800</pubDate><description><![CDATA[一般情况，很少使用goto语句从复合语句外部转到复合语句内部，多用于从复合语句内部转到复合语句外部，如退出多重循环（goto语句会破坏程序的结构，只有偶尔在这种情况下才使用），但是要是否会跳过变量定义语句，否则该就goto语句是非法的。只能用户循环体中，结束本次循环（也就是不在执行循环体中continue后面的语句），进入下一次循环（不是跳出循环体）。注意：不能用goto语句从函数外部转入函数的内部，也不能从函数内部转入到函数的外部；是个标识符，定义格式为: ;]]></description><category></category></item><item><title><![CDATA[C++学习总结——C++基本数据类型和表达式(1)]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129418838</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129418838</guid><author>yyy____________</author><pubDate>Thu, 09 Mar 2023 11:02:37 +0800</pubDate><description><![CDATA[符号常量：又称命名常量，指有名字的常量，如 const double PI=3.1415;1. C++是一种静态类型语言（运行前指定每个数据的类型），也是一种强类型语言（对数据的操作进行严格的类型检查）。计算过程中要注意数据的底层表示（是否溢出等）、表达式的副作用（短路求值等）。先a > int， 然后(a*b) > double。声明： extern  ;2）按算术、移位、关系、逻辑位、逻辑依次降低。typedef  ;4. 常量包括两种：字面常量和符号常量。]]></description><category></category></item><item><title><![CDATA[嵌入式软件工程师面试 2]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129417240</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129417240</guid><author>yyy____________</author><pubDate>Thu, 09 Mar 2023 10:08:20 +0800</pubDate><description><![CDATA[是现在人才市场上比较紧缺的职位，该职位由于学习困难大，学习资源少，对开发者拥有的知识面较广，所以很多招聘公司找不到这类人才，所以需要我们不停的学习自我，充实自我，走向成熟才行。给定一个整型变量a，写两段代码，第一个设置a的bit 3，第二个清除a 的bit 3。解：tcp/udp属于运输层，tcp提供稳定的运输服务，包头大，冗余大，udp提供不稳定的运输服务，包头小，开销小。解：中断请求，中断屏蔽，中断响应，保护现场，中断源调查，中断处理，清除标志，保护现场，中断返回。解：函数需要分配内存，宏不需要；]]></description><category></category></item><item><title><![CDATA[嵌入式软件开发面试题 1]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129330230</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129330230</guid><author>yyy____________</author><pubDate>Sat, 04 Mar 2023 09:27:21 +0800</pubDate><description><![CDATA[优快云的小伙伴们，我是小小y。今天在这给小伙伴们分享一些嵌入式软件开发工程师的校招面试题。企业校招对基础考察较多。其次，在校参加的相关比赛，项目经历(参加的比赛及项目经历是应届生最好的证明)。下面说说我在面试嵌入式软件开发岗位常遇见的问题。在面试前可以提前熟悉这些问题的答案。第一类问题：专业考察题
在下面问题中，我附上自己的理解，可能不全面，用到的话再自行补充一些。(实力欠缺嘻嘻)问题1：问你写在简历上的项目经历，一般问的很细很细，在此基础上考察你项目里用到的技术知识。所以一定要熟悉自己包装简历上的内容。]]></description><category></category></item><item><title><![CDATA[Linux面试题2]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129298111</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129298111</guid><author>yyy____________</author><pubDate>Thu, 02 Mar 2023 12:03:23 +0800</pubDate><description><![CDATA[Linux系统调优可以通过这几个方面来做，比如文件系统优化（分区调优，格式化时根据存储文件特性，指定合适的块大小，noatime，日志隔离，软raid，有效使用/dev/shm，关闭不必要的服务）、内核参数优化（net.ipv4.tcp_syncookies = 1， net.ipv4.tcp_max_tw_buckets = 65535， net.ipv4.tcp_tw_recycle = 1， net.ipv4.tcp_tw_reuse = 1）相应的，OS的主要功能也正是对这四类资源进行有效的管理。]]></description><category></category></item><item><title><![CDATA[static 关键字的作用]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129186854</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129186854</guid><author>yyy____________</author><pubDate>Tue, 28 Feb 2023 08:30:00 +0800</pubDate><description><![CDATA[3.静态成员被该类所有对象共享static 关键字可以修饰类中的成员变量和成员方法，被称为静态成员变量和静态成员方法，静态成员拥有一块单独的存储区，不管创建多少个该类的对象，所有对象都共享这一块内存。静态成员本质上属于类，可以通过类名直接访问。1.静态变量默认初始化值为 0，如果没有显示初始化静态变量或者初始化为0的静态变量会存储在BSS段，而初显示初始化的静态变量存储在DATA段。2. 静态成员函数中不能访问普通的成员变量，只能访问静态成员变量，并且在静态成员函数中没有 this 指针。]]></description><category></category></item><item><title><![CDATA[指针 和 引用 的区别]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129175498</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129175498</guid><author>yyy____________</author><pubDate>Mon, 27 Feb 2023 08:30:00 +0800</pubDate><description><![CDATA[指针是一种数据类型，用于保存地址类型的数据，而引用可以看成是变量的别名。而引用的定义格式为：数据类型 ＆；2.引1用不可以为空，当被创建的时候必须初始化，而指针变量可以是空值，在任何时候初始化；7.sizeof 引用得到的是所指向的变量（对象）的大小，而 sizeof指针得到的是指针变量本身的大小；8.指针作为函数参数传递时传递的是指针变量的值，而引用作为函数参数传递时传递的是实参本身，而不是拷贝副本;6.指针的值在初始化后可以改变，即指向其它的存储单元，而引用在进行初始化后就不会再改变了；]]></description><category></category></item><item><title><![CDATA[什么是野指针，怎么产生的，如何避免]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129186944</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129186944</guid><author>yyy____________</author><pubDate>Sun, 26 Feb 2023 08:30:00 +0800</pubDate><description><![CDATA[指针释放后末置空：有时候指针在释放后没有复制为 nullptr，虽然指针变量指向的内存被释放掉了，但是指针变量中的值还在，这时指针变量就是指向一个未知的内存，如果对它解除引用，结果是不可知的。指针变量末初始化或者随便赋值：指针变量没有初始化，其值是随机的，也就是指针变量指向的是不确定的内存，如果对它解除引用，结果是不可知的。指针操作超出了变量的作用域：函数中返回了局部变量的地址或者引用，因为局部变量出了作用域就释放了，这时候返回的地址指向的内存也是未知的。未知内存、未初始化、置为nullptr；]]></description><category></category></item><item><title><![CDATA[内联函数和函数的区别，内联函数的作用]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129200335</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129200335</guid><author>yyy____________</author><pubDate>Fri, 24 Feb 2023 14:44:56 +0800</pubDate><description><![CDATA[普通函数在被调用的时候，需要寻址（函数入口地址）；一内联函数有一定的限制，内联函数体要求代码简单，不能包含复杂的结构控制语句，如果内联函数函数体过于复杂，编译器将自动把内联函数当成普通函数来执行；2.内联函数的作用：因为函数调用时候需要创建时间、参数传入传递等操作，造成了时间和空问的额外开销。通过编译器预处理，在调用内联函数的地方将内联函数内的语句复制到调用函数的地方，也就是直接展开代码执行，从而提高了效率，减少了一些不必要的开销。1. 内联函数和函数的区别：内联函数比普通函数多了关键字。]]></description><category></category></item><item><title><![CDATA[const 的用法]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129199769</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129199769</guid><author>yyy____________</author><pubDate>Fri, 24 Feb 2023 14:19:38 +0800</pubDate><description><![CDATA[用于形参时说明形参在函数内部不能被改变，这是非常有用的，有时候函数参数传递指针或者引用，在函数内部不希望对指针和引用指向的数据进行修改，可以加上const；如果 const 修饰的是静态的成员变量，则需要在类外对该变量进行初始化.。是常量指针，表示指变量p 所指向的内容不能修改，指针变量p的内容可以修改；是指针常量，表示指针变量p的内容不能修改，指针变量p所指向的内容可以修改；类的成员变量可以分为静态的和非静态的，如果const 修饰的是静态的成员。1.用在变量身上，表示该变量只读，不能对它的值进行修改。]]></description><category></category></item><item><title><![CDATA[const 和 define 之间的区别]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129175374</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129175374</guid><author>yyy____________</author><pubDate>Thu, 23 Feb 2023 09:51:01 +0800</pubDate><description><![CDATA[const 在C 语言中表示只读，编译器禁止对它修饰的变量进行修改，在C++ 中增加了常量的语义。3.用define 定义的常量是不可以用指针变量去指向的，用const 定义的常量是可以用指针去指向该常量的地址的；2. define 只是简单的字符串替换，没有类型检查，而const 有对应的数据类型，编译器要进行。4. define 不分配内存，给出的是立即数，有多少次使用就进行多少次替换，在内存中会有多个。拷贝，消耗内存大，const 在静态存储区中分配空间，在程序运行过程中内存中只有一个拷贝；]]></description><category></category></item><item><title><![CDATA[C语言和C++语言的区别]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129175209</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129175209</guid><author>yyy____________</author><pubDate>Thu, 23 Feb 2023 09:44:49 +0800</pubDate><description><![CDATA[3.C 程序中如果函数没有任何参数需要将参数定义为 void 以此来限定函数不可传递任任何参数，如果不进行限定让参数表默认为空其意义是可以传递任何参数，在C++中，不带参数的函数表示函数不能传递任何参数；1.C 语言是面向过程的语言，而C++ 支持面向对象，所以C 语言自然没有面向对象的封装、继承、多态等特性，也不支持面向对象的一些语法；9.C 语言中只有局部和全局两个作用域，而C++中有局部、全局、类、名称空间作用域。5.C 语言函数参数不支持默认值，而 C十语言支持参数默认值；6.C++ 语言支持。]]></description><category></category></item><item><title><![CDATA[TCP和UDP的区别]]></title><link>https://blog.youkuaiyun.com/yyy____________/article/details/129175055</link><guid>https://blog.youkuaiyun.com/yyy____________/article/details/129175055</guid><author>yyy____________</author><pubDate>Thu, 23 Feb 2023 09:39:21 +0800</pubDate><description><![CDATA[UDP：是无连接的；TCP：面向字节流；UDP：面向报文的；TCP：与TCP连接只能点到点；UDP：连接方式更加多样化；TCP：提供的服务更可靠；另外：UDP的首部开销8个字节比TCP的20字节要小。]]></description><category></category></item></channel></rss>