- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 Tensorflow框架tf.nn.conv2d函数
最近学习了tensorglow框架,今天主要学习了下conv2d函数。conv2d函数实现了卷积运算,声明如下:tf.nn.conv2d( input, filter, strides, padding, use_cudnn_on_gpu=True, data_format='NHWC', dilations=[1, 1, 1, 1], name=None )input:即输入,是一个...
2018-12-09 22:35:33
437
原创 UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 101: surrogates not al
使用spyderIDE在tensorflow框架下,需要读取相应路径下文件时,往往会提示:UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 101: surrogates not allowed这种错误往往是 文件路径错误导致无法找到相应文件 所导致的...
2018-12-08 17:09:06
1234
1
转载 Qt强大的QSS
转载自:https://www.cnblogs.com/wangqiguo/p/4960776.html#_label6阅读目录什么是QSS QSS在Qt程序中的使用办法 QSS的语法规则 QSS的选择器类型 QSS子控件 QSS伪状态 QSS级联与冲突 QSS实际应用中要注意的地方 Qt开发的程序的案例回到顶部什么是QSSQSS称为Qt Style Sheets...
2018-08-16 22:53:27
772
原创 QT 中 信号槽 连接方式
1、qt中connect函数用来连接信号槽,一般有5种连接方式:直接连接、队列连接、自动连接、阻塞连接、防重复连接; 1)直接连接:DirectConnection(同步调用) 可以理解为信号直接调用槽函数,由信号的发出者直接调用槽函数执行,因此,槽函数在信号发出者所在线程中执行。 2)队列连接:QueuedConnection(异步调用) 只有当槽函数所...
2018-06-20 23:35:56
1352
转载 Linux 软连接与硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。符号连接相当于Windows下的快捷方式。一、硬链接硬
2016-12-28 14:56:17
507
原创 C++实现二位数组加减法
为了深入理解C++中拷贝构造函数、赋值运算符、运算符重载、动态内存分配new,写了一个实现数组加法的类。虽然该程序实现的功能比较简单,但是却包含了不少难点和初学者容易忽视的地方。//class.h#include #include using namespace std;class matrix{public: const int row,col; int **
2016-08-12 00:27:52
8280
原创 MYSQL数据库在C语言API函数接口
MYSQL在 C 语言 中可用的API: mysql_affected_rows()返回被最新的UPDATE, DELETE或INSERT查询影响的行数。mysql_close()关闭一个服务器连接。mysql_connect()连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代
2016-07-20 21:47:51
3491
2
转载 C++右值引用
1、右值引用引入的背景 临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题。但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了CopyElision、RVO(包括NRVO)等编译器优化技术,它们可以防止某些情况下临时对象产生和拷贝。下面简单地介绍一下CopyElision、RVO,对此不感兴趣的可以直接跳过:(1)CopyElision Cop
2016-07-19 15:43:09
719
原创 EXTERN C 关键字
当我们通过C++来调用一些按照C语言开发的库时,利用C++编译器编译该程序后会发现编译器报错,大概意思是:找不到某个函数的定义。原因:函数链接阶段无法找到C函数。C++中使用了函数重载的机制,导致函数名相同的函数功能相差可能非常大,而C语言没有函数重载机制,因此不同函数仅通过函数名来区分。因此,利用C++编译器编译函数时,函数被编译后的名称将包含函数的参数类型,用以区别相同函数名而不同参数的函
2016-07-18 11:08:20
341
原创 C++中单字符与字符串的读取
1.单字符输入两个成员函数:int get(void); istream& get(char &ch)这两个函数读取输入流中下一字符,即使该字符是空格、制表符、换行符等。区别:遇到文件结束符EOF时int get(void);返回EOF,而 istream& get(char &ch)将返回转换为false; istream& get(char &ch)可以拼接使用,而i
2016-07-13 15:57:49
4297
原创 从结构体成员获取结构体地址的方法
今天朋友面试,有一个问题他没回答上来,我便在这里给出答案,希望能帮助到一些准备找工作的同学。面试官会问道:已经知道结构体对象中的一个对象,如何获取结构体的地址呢?因为结构体成员在内存中的存储数据是按照成员定义顺序存储的,因此,要回答这个问题,首先得解决两个问题1):该结构体成员的地址2):该结构体成员在结构体中的偏移地址意识到这两个问题,还得注意两个细节:1):C/C++语
2016-07-12 16:50:10
8078
转载 linux中Mysql常用命令
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表
2016-07-08 16:54:31
777
原创 linux 中的文件锁
Linux运行多个进程同时对一文件进行读写,虽然每一个read和write都是原子操作,但内核并没有在两个读写操作之间加以同步。因此,当一个进程多次调用read读文件时,就有可能在某两次读之间被另一进程所写,因此,读的的值将发生错误,造成了文件数据的随机性冲突,为解决此类并发进程对共享文件的访问控制问题,Linux设计了锁机制。对文件加锁有两种:文件锁和记录锁。文件锁(文件锁定)用来锁定整个文
2016-07-05 21:33:37
1167
原创 C语言函数返回值实现机制
我们知道,在子函数中返回局部变量的值是不会出什么问题的,但是,返回一个局部变量的指针或者引用时,在后续解引用这个指针时就得不到理想的结果,原因在于:子函数中的自动变量(栈内存中的变量)会在子函数返回后被释放掉,但是返回值会被保存在cpu的寄存器中,因此,在返回子函数后,返回值能从寄存器中将返回值赋值给调用函数中的变量,如果返回值是一个指针,那么该指针所指的内存地址会被保存在寄存器中,但是,指针指向
2016-06-29 20:18:34
4006
转载 shell中${}的用法
1. 截断功能${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}: 拿掉最后一条/及其左边的字符串:my.file.txt${file#*.}: 拿掉第一个.及其左边的字符串:file.txt${file##*.}: 拿掉最后一个.及其左边的字符串:tx
2016-06-12 11:16:26
786
原创 C++多继承中虚基类
C++中多继承时,派生类难免继承两个或多个基类的同名函数,因此,对于派生类对象调用同名函数时便产生了二义性(该对象不知道到底调用来自于哪一个直接基类的函数)。解决办法:虚基类。虚基类使得从多个类派生出的对象只继承一个基类对象,而此时,从多个类派生出的派生类必须定义每一个同名函数,否则编译时报错。见P556。
2016-06-01 17:37:08
737
原创 C++类继承
公有派生:基类的共有成员将成为派生类的公有成员;基类的私有部分也将成为派生类的私有部分,但是,该部分只能通过基类的共有和保护方法访问。因此,派生类对象将存储基类的数据成员,派生类对象也可以使用基类的方法。派生类的初始化:派生类的构造函数必须调用基类的构造函数来初始化基类数据成员。因此,创建派生类对象时,程序首先创建基类对象,也就是说:基类对象必须在程序进入派生类构造函数之前被创建,因此
2016-05-23 23:10:45
709
转载 ARM常用指令教程
ARM指令教程 ARM汇编程序特点:l 所有运算处理都是发生通用寄存器(一般是R0~R14)的之中.所有存储器空间(如C语言变量的本质就是一个存储器空间上的几个BYTE).的值的处理,都是要传送到通用寄存器来完成.因此代码中大量看到LDR,STR指令来传送值.l ARM汇编语句中.当前语句很多时候要隐含的使用上一句的执行结果.而且上一句的执行结果
2016-05-20 17:20:47
1057
原创 C++中的const,static const和static类成员的初始化问题
C++中, const, static const, static这三种类成员的初始化容易出问题:const 作为类成员,只能在构造函数初始化列表中被初始化;static 作为类成员,所有类对象共享该成员,只能在类外部的.cpp文件中被初始化,初始化时不用指明static属性;static const 作为类成员,为const成员作为所有类共享的数据在类内初始化提供了可能,声明该变量是
2016-05-08 21:13:15
3930
原创 C++中构造函数创建对象
1、 C++中构造函数的调用方式主要分为两类:1)显示调用:eg: Stock food = Stock("360",250,2.5);2)隐式调用;eg:Stock food("360",250,2.5);注意:显示调用构造函数大多编译器理解为对food进行初始化,这也是最正确的理解方式,因此直道food所在的作用域到达尽头,才调用析构函数进行清理;而有的编译器将Stock
2016-05-02 00:12:45
5206
1
原创 c++中的cin,cin.get(),cin.getline()读取字符串
人老了,记性不好了,看一篇忘一遍,还是梳理下吧!这里所谓的字符串为C-风格字符串,即含有空字符结束符的字符数组;
2016-04-24 18:02:26
8625
原创 ucos中OSMemCreate()函数难点解析
该函数的功能是创建一块内存分区,并通过内存控制块指针来管理,具体功能为:堆内存addr地址处已经分配了一块连续内存分区,将该内存分区划分为blksize大小的不同内存块来管理,并配置内存块管理结构指针pmem。函数源码如下:OS_MEM *OSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *err){
2016-04-22 00:27:40
2533
3
转载 vi使用方法
编辑一个文本文件是经常使用到的计算机操作。我们想做的大多数事情都需要使用某种文件编辑。文本编辑器会方便文件的创建和修改。编辑一个文本文件是经常使用到的计算机操作。我们想做的大多数事情都需要使用某种文件编辑。文本编辑器会方便文件的创建和修改。这些文件也许会包含备记录、日程表、程序源代码等等。文本编辑器是简化的字处理器,就不存在字处理器所具有的黑体、居中、下划线等等这印刷上的特点。当然每一种操作系统软
2016-03-08 10:51:52
691
转载 C语言编译链接流程以及重要特性在编译器中实现
C语言算是大学里接触的最早,用的最"多"的语言了,对于大部分学习计算机的学生基本上是从开始学习C语言起,凭借着一句经典的"hello, world!"迈入了计算机的世界的,初体味了一把这个世界还有个叫编程的活。作为系统级的开发首选语言,只诞生以来就屹立不倒,C语言的重要性是不言而喻的。就是怀着这种对C的无比敬意开始了我的伪程序之旅。然而大学里面没写过什么像样的东西,说来惭愧,什么课程设计,或是自称
2016-03-01 20:27:28
664
转载 字节对齐方式
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式
2015-10-30 11:50:35
567
转载 字节对齐
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某
2015-10-30 10:30:42
439
转载 什么是“大端”和“小端”及一段测试本机大端还是小端的代码
(这段文字是《UNIX网络编程·卷一》的关于这个概念的概括;不仅限于这本书,很多计算机书籍都是这么介绍这个概念的,你会在和计算机相关不同领域的书中遇到它们。尽管很令人疑惑,但是在阅读正文前,你最好对这两个词语的概念有所理解。当然,如果你以前向正文中描述的一样接触过它们,那就不必读这一部分了。读完后你会发现,你虽然理解了含义,但很容易忘掉,这时你就可以看正文部分了) 对于一个由2个字节组成的1
2015-09-18 09:07:25
779
转载 C++之 new 动态分配内存
动态内存分配1.堆内存分配 :C/C++定义了4个内存区间:代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。堆的概念:通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。这种内存分配称为静态存储分配;有些操作对象只在程序
2015-02-04 09:37:16
1520
原创 C/C++指针
在C/C++中,不允许将一个常量复制给一个指针变量,最容易犯的错误就是将一个指向常量的指针复制给另一个指针变量:eg: float temperature = 37.5 ; const float * p = & temperature; float *pi = p;编译器会报错第三行,不能将一个 const float * p 的指针赋值给 float *
2015-02-02 19:25:59
500
转载 C++宏定义详解
一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析
2015-01-21 17:24:10
507
转载 生僻的C语言数据结构:位域
C语言提供了一种数据结构,称为“位域”或“位段”。位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。为了节省存储空间,并使处理简便,所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。位域定义与结构定义相
2015-01-21 10:33:47
653
原创 C++中的##,#,你会用吗
##用作define中可以连接两个字符串;#用作define中可以转换为字符串;#@用作define中可以转换为一个字符; 比如:#define Conn(x,y) x##y #define ToChar(x) #@x #define ToString(x) #x int a=Conn(12,34); char b=ToChar(a); ch
2015-01-20 09:55:51
675
原创 向量叉积在无人机导航中的应用
向量的叉积可以用来判断点在直线的某侧,进而可以解决点是否在三角形内,两个矩形是否重叠等问题。 矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P×Q = x1*y2 - x2*y1,其结果是一个伪矢量。 显然有性质 P × Q = - ( Q × P ) 和 P ×
2015-01-13 09:40:10
929
原创 The constructor JButton(String) is not accessible due to restriction on required library C:\Program
今天利用eclipse编写简单Java代码是出现以下编译错误提示:Description Resource Path Location Type Access restriction: The constructor JButton(String) is not accessible due to restriction on required library C:\Program Fil
2015-01-05 00:13:18
1617
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人