- 博客(89)
- 收藏
- 关注
原创 test_sizeof
/sizeof((char*)arrU8),把一个u8 * 转成 char。//要打印u8类型的数组,直接arrU8就可以了,不用加(char*);,在32位机器上结果是4,64位机器上是8。(arrU8)得到的大小是u8类型数组的。(arrU8)得到的大小是u8类型数组的。)arrU8)是输出一个指针的大小。
2023-11-11 09:00:12 440
转载 嵌入式系ucos和linux的区别
学习操作系统的话,建议ucos上手,代码只有5000行左右,短小精悍,编程风格非常好,而且有配套官方教程,对于一些任务调度,信号量、事件等的实现讲的很透彻,即便后续没有做ucos相关工作,了解其实现对你的代码整洁、对操作系统的全面理解都是深有帮助,受益终生。东西很多,慢慢来,看linux源码的话基本不现实,可以找0.11版本代码看,2w多行,找一本书配合着看会好一点,慢慢啃,啃不明白也不影响使用。ucos主要用在小型嵌入式系统里面,linux用在复杂的实时性不是很高的大型嵌入式系统,比如点歌机等。
2023-09-02 10:41:25 259
原创 Linux系统调用--signal、setjmp、longjmp、alarm和sleep
这涉及到信号捕获函数的有效性。信号捕获函数一旦被执行,如果不再重新设置信号捕获函数,那下次信号再发生了,触发的是默认的信号捕获函数------也就是会忽略这个信号,什么也不处理。因为在开始的时候设置SIGALRM的信号捕获函数。之后的地方继续执行。之后的地方继续执行?,在这个捕获函数里,使用。后程序为什么不继续回到。超时,但是不处理,再过。
2023-08-03 00:56:31 248
转载 ARM Linux BackTrace
如果是ARM平台arm-linux-gcc交叉编译,需要带如下编译参数。否则可能backtrace返回值为0,得不到需要的信息。如果是x86平台gcc编译,可以直接编译。
2023-07-24 16:53:28 207
原创 strncpy改成memcpy
编译的时候有个警告:首先第一个分析与尝试:就是m_dir定义的长度是256,tmp的长度只定义了100,把m_dir复制给tmp,长度会被截断。解决就是把tmp也定义成256长度就可以了。然而编译警告还是存在。第二个尝试方法:把strncpy改成memcpy:所以以后用strncpy的地方,都可以换成memcpy去实现。你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对
2023-07-20 12:17:37 532
原创 关于makefile报错:linker input file unused because linking not done
看gcc的编译选项里是否有 -c【-c可能在CFLAGS里设置了】-c:只编译生成目标文件,不进行链接。
2023-07-15 21:29:02 742
原创 C++继承中虚方法和非虚方法的调用问题
碰到一道填空的编程题。已有的程序#include <iostream>using namespace std;class A {};class B: public A { void Do() {cout << "B::Do" << endl;}};class C : public B {public: void Do() {cout << "C::Do" << endl;} void Fun() {cout <
2022-04-16 23:48:02 711
转载 如何安装Linux版本的WPS office 2019
原文连接:如何安装Linux版本的WPS office 2019wps的linux版网址:WPS Office 2019 For Linux
2021-11-14 14:11:13 1068
原创 单例模式(2)
面试的时候被问到单例模式如何只创建一个实例对象?在一个类中怎么能调用构造函数呢?没回答上来。单例模式和工厂模式程杰的《大话设计模式》上有,讲得很通俗易懂。单例模式有3个要点:(1)某个类只能有一个实例(那如何确保它只有一个实例?)在创建对象的时候,先判断对象是否存在?(2)它必须自行创建这个实例(那它又是如何来创建这个实例呢?)通过另外一个函数调用构造函数。(3)它必须自行向整个系统提供这个实例那如何自行提供呢?返回一个我自己。public class GirlFriend{ privat
2021-10-15 10:03:25 129
原创 C++关于函数
在观看某乎视频【7】【Cherno C++】【中字】C++链接器是如何工作的时看到一个比较新奇的事情,以下是我自己写的一个:#include <iostream>using namespace std;void Fun();int main() { Fun(); return 0;}首先我们看到,这几行代码只包含了输入输出流头文件,接下来是名称空间,再接下来是Fun()的声明,最后是main()函数。再看看项目目录是什么样组织的:左边是文件结构,只有两个.cpp文
2021-10-07 11:49:20 121
原创 武汉卓越科技面试复盘
武汉卓越科技,面试问的八股文1、32位系统中,一个指针占4个字节?2、vector在多线程环境是否安全?答案是安全的。多线程使用–vector是线程安全的,方法同步,使用多线程时效率不高。3、vector的resize和reverse有什么区别?C++引用网址std::vector::reverse(size_type n);要求vector容器的容量至少能够满足包含n个元素。如果n大于vector当前的容量,这个方法会使容器重新分配存储提升容量到n或者是大于n。如果n不大当前的容量,函数调
2021-10-01 20:19:21 263
原创 八大排序算法(4)选择排序
选择排序的思想:每次都从未排序的序列中选出最大或最小的元素,放到已排好序的前部或者后部。程序:#include <iostream>using namespace std;void SelectSort(int a[], int length) { for (int i = length - 1; i > 0; i--) { int IndexOfMax = i; int j = 0; for (j = 0; j < i; j++) { if (a[j]
2021-09-26 11:15:55 105
原创 八大排序算法(3)插入排序
插入排序的思想:就像打牌一样,每摸一张牌,就把这张牌插入到手上已经排好序的牌中。程序:#include <iostream>using namespace std;void InsertSort(int a[], int length) { for (int i = 0; i < length; i++) { for (int j = i; j > 0; j--) { if (a[j - 1] > a[j]) { int temp = a[j];
2021-09-26 10:39:52 100
原创 八大排序算法(2)快速排序
快速排序的思想(比较口水话的描述):首先首尾各设置一个下标,选择其中一端的一个作为哨兵,然后先从数组的一端不断遍历与哨兵比大小。一直遍历过程中有两种情况:(1)与哨兵比较一直满足条件,到达了数组的另外一端,此时应该结束遍历;(2)与哨兵比较不满足条件的时候,说明当前位置比哨兵大或者小,把这个数与另外一端在的位置的数进行交换;交换结束之后到另外一端不断遍历。遍历情况和之前的一样。当两边遍历相遇的时候,就是哨兵所在的位置。具体看程序吧。程序:#include <iostream>usi
2021-09-26 10:22:58 115
原创 八大排序算法(1)冒泡排序
冒泡排序的思想:两两相邻的元素进行比较,如果不满足条件就交换位置。程序:#include <iostream>using namespace std;void BubbleSort(int a[], int length) { //注意冒泡排序是相邻两两比较,且j的遍历长度是在不断缩短的 for (int i = 0; i < length; i++) { for (int j = 1; j < length - i; j++) { if (a[j - 1]
2021-09-26 09:52:12 99
原创 面试被问到的二分查找
其实有序序列的二分查找,思想很简单。就是和中间的值比较然后决定是在左半部分还是右半部分查找。特别需要注意的点:当在右半边查找的时候,中间的位置要加上左边的起始位置,这才是中间位置的绝对位置。程序实现:#include <iostream>using namespace std;int binSearch(int a[], int n, int length) { int left = 0; int right = length - 1; while (left <=
2021-09-23 21:11:01 97
原创 网易互娱的一道笔试题
题目描述:一张图被裁剪成N行M列,知道每张图片的编号,以及和它上下左右相邻的图片编号,将这张图拼接回去。输入描述:N(空格)M接下输入N*M行,每行5个数:第1个数是当前图片的编号,第2个数是当前图片的左边的图片的编号,第3个数是当前图片的上边的图片的编号,第4个数是当前图片的右边的图片的编号,第5个数是当前图片的下边的图片的编号,当相邻的图片没有时,输入0表示。数字与数字之间空格隔开。如下:3 31 2 4 8 62 0 5 1 73 4 0 0 84 5 0 3 15 0 0 4 2
2021-09-23 11:37:43 405
原创 兑换饮料瓶数
碰到过的一道笔试题:晓明手上有n个空瓶子,每3个空瓶子可以兑换1瓶新饮料。问晓明可以喝到多少瓶饮料。思路:一看题目中没有涉及任何数据结构和算法的内容。这是一道数学题,缕清数学关系就可以了。(1)3个空瓶子可以兑换1瓶新饮料,那么现有的瓶子n要减去3,即n-3;(2)兑换之后又得回一个新瓶子,喝了之后就是空瓶子了。即每次兑换之后,手上又多了1个空瓶子,即(n-3)+1;------------> 即 n - 2(3)每次成功兑换之后,晓明就喝到1瓶新饮料。所以只要兑换成功1次,喝的饮料瓶数+
2021-09-23 10:42:28 629
原创 哪个位置的人两两互相看不见?
题目描述:有n根柱子,柱子高度不定,站在高柱子上的人看得见低柱子上的人,如果两个人中间有高于他们的柱子,他们互相看不见。问有多少组互相两两看不见的人。假设数组a = [0, 0, 1, 0, 0, 0, 5, 4, 3, 0]p = [A, B, C, D, E, F, G, H, I, J]表示有10根柱子,a[i]表示柱子的高度,站在第1根柱子上的A和站在第2根柱子上的B,他们柱子高度一样,他俩互相看得见。站在第1根柱子上的A和站在第4根柱子上的B,他们柱子高度一样,但中间被第3根柱子(a
2021-09-19 12:29:33 128
原创 tensorflow官方分割教程
网址链接:图像分割首先需要安装相应的包:pip install -q git+https://github.com/tensorflow/examples.git但是我运行这行代码并不成功,只能是在tensorflow的E:\panansi\Anaconda\envs\tensorflow\Lib\site-packages这个路径下git,怎么git参见这篇博文然后网上有人说先git然后在切换到git的路径然后运行python setup.py install然而我的也不成功。
2021-07-20 16:52:50 152
原创 C++ 关于字符与整数类型的加减问题
#include <iostream>#include <string>using namespace std;int main(void){ string s = "1234567"; int num = 0 + s[3] - '0'; char c = '0' + num + 20; cout << "\t" << num << endl; cout << "\t" << c << en
2021-06-10 00:26:35 4226 4
原创 【02】由两个栈组成的队列
/*说明:这些例子来自 左程云著的《程序员代码面试指南 IT名企算法与数据结构题目最优解》。代码中的注释是自己的理解。*//*【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek)【解答】栈的特点是先进后出,而队列的特点是先进先出。用两个栈正好能把顺序反过来实现类似队列的操作。*/import java.util.*;public class TwoStackQueue{ public Stack<Integer> queueTail;//队
2021-02-25 14:09:12 86 1
原创 【01】设计一个有getMin功能的栈
/*说明:这些例子来自 左程云著的《程序员代码面试指南 IT名企算法与数据结构题目最优解》。代码中的注释是自己的理解。*//*【题目】实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作【要求】1.pop、push、getMin操作的时间复杂度都是O(1)2.设计的栈类型可以使用现成的栈结构【解答】:在设计上使用两个栈,一个栈用来保存当前栈中的元素,记为stackData;另外一个栈用于保存每一步中的最小值,记为stackMin。*//*方案1*/public c
2021-02-25 13:11:06 98
原创 window操作系统上,IDEA怎么创建新项目?
操作系统是Windows;IDEA的版本是:IDEA 2020.1首先,打开IDEA之后,会停留在上次关闭时的project。那么这时怎么把这个已有的project关闭掉然后从头新建一个project呢?①点击最左上角的【File】,然后在弹出的菜单中找到【Close Project】②上个步骤执行之后,页面会是这样子:把鼠标停留在窗口的左边白色部分,会提示项目的视图移除:点击【×】之后应该会是这个窗口:这应该也是最最开始第一次打开IDEA出现的窗口。这个窗口上也提示了【Create
2021-02-23 09:33:51 786
原创 windows 文件夹属性全部都为只读。怎么解决?
按照win10之家上面的文章win10文件夹只读属性去不掉该怎么办?文件夹只读取消不了的解决方法!或者windows10文件夹属性都是只读,如何取消中的一个回答:“今天遇到一种情况win10系统,整个盘符(D)里的文件都不能修改,只能读,然后另存到桌面经过摸索,发现在:此单脑–属性–系统保护–选中并取消该磁盘的系统保护就这样解决了,小感慨呀”...
2020-10-01 00:20:27 41032 5
原创 安装Anaconda和tensorflow
双击.exe文件点击next:点击“I Agree”:这两个看自己需要:然后点击Next:换安装的路径,然后Next:把这个给选上,能省不少麻烦;然后点击Install:然后等,大概5分钟:中间会弹出一个黑窗口,不用管它,安装完成之后点击Next:到这一步点Skip:对于没有装过的同学,这两个勾可以不去掉,我装的时候是都去掉了,然后点击Finish:这时候可以打开控制台那个黑窗口,输入这几个命令,如果显示的结果都差不多,那么基本上就可以确定Anaconda到这里就安装
2020-08-15 06:44:52 372
转载 在python中创建Excel文件并写入数据
来源:《在python中创建Excel文件并写入数据》python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的。xlwt中:通过xlwt.Workbook()来新建工作簿;通过.add_sheet('sheet名)来新建sheet;通过.write(行号, 列号, 值)来一个单元格一个单元格地写入数据,注意,行号和列号都是从0开始的;最后,通过.save(‘文件名’)来保存。import xlwtxls = xlwt.Workbook()sht1 = x
2020-08-09 00:32:53 4076
转载 如何调节输入栏键盘光标的宽度
https://jingyan.baidu.com/article/a3aad71afef392b1fb009689.html
2020-07-15 21:36:14 245
原创 txt_remove
在当前文件夹下,如果已经存在一个同名的txt文件,那就移除该文件。然后在需要写txt文件之前,通过txt_create = open(‘xxx.txt’, ‘w’, encoding=‘utf-8’)创建一个新的txt文件。def txt_remove(txt_path): if os.path.exists(txt_path): os.remove(txt_path) print('remove ' + txt_path + ' successed!\n')
2020-07-09 00:34:42 96
原创 tensorflow-----序列比较和索引
(1)tf.argmin(input, axis=None, output_type=tf.int64, name=None)返回输入张量input指定维度axis上的最小值的索引。(2)tf.argmax(input, axis=None, output_type=tf.int64, name=None)返回输入张量input指定维度axis上的最大值的索引。(3)tf.where(condition, x=None, y=None, name=None)根据条件condition,从张量x和张
2020-06-27 10:48:19 171
原创 tensorflow-----张量的归约
张量的归约是常见的张量降维方法,通常归约函数都有一个维度作为参数,沿着该维度来执行指定的操作。如果axis为None,那么将归约的张量降维到一个标。常见的归约函数:(1)tf.reduce_sum(input_tensor, axis=None, keepdims=False, name=None)沿着维度axis计算该维度所有元素的和。如果keepdims=True,那么维度被保留。如果axis没有指定,归约为标量。import tensorflow as tfx = tf.constant
2020-06-27 09:46:32 277
原创 tensorflow-----张量的合并
张量的合并是指将多个张量在某个维度上合并为一个张量。合并操作又可以分为拼接(concat)和堆叠(stack)。在tensorflow中的实现是:tf.concat(values, axis, name=‘concat’)解释就是:将张量列表values中的张量沿着维度axis拼接起来。有一点需要注意的是,张量列表values中的张量,要拼接的维度不一定要相等,但是其他的维度一定要相等。比如说tensor_1的维度是[4,4],tensor_2的维度是[4,3]import tensorflow a
2020-06-27 02:36:26 3829
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人