各种知识

    xiaoxiao2022-06-28  38

    想做的事情太多了。

    可以增强能力的事情也太多了

    只能一步一步去做不要焦虑

    现在是:

    QT manual  每天一段 中文理解,不要手打出来,根据自己的理解再百度一下。锻炼英文的理解和自己的阅读能力。

    QT 网站 每天一点 操作一下,实现就好,对于关键字,记录纸上看看

    C++视频,把没有看完的看完,理解完。 然后重头再来一次。巩固加深一下。

    2016-10-25 

    http://www.cnblogs.com/rushoooooo/archive/2011/09/03/2164623.html  这个里面讲了list的建立使用 用于放置初始定位

    2016-10-24

    http://www.linuxdiyf.com/linux/21503.html ubuntu 实现 虚拟机和宿主机的VNC远程桌面控制

    http://blog.csdn.net/fly_yr/article/details/48164567   为什么要new, 和类直接定义对象的区别。释放与否,需要delete与否

    http://jingyan.baidu.com/article/ce09321b4582162bfe858f7d.html   原来想着写样式表 颜色什么的命令太麻烦。原来有很简单的方法,太牛了。还是得多用。

    2016-10-21

     

    const T、const T*、T *const、const T&、const T*& 的区别

    http://blog.csdn.net/luoweifu/article/details/45600415  超级清楚讲的

    2016-10-20

    C++中new申请的内存, 可以用free释放吗

    malloc/free,new/delete必需配对使用。 malloc与free是c++、c语言的标准库函数,new、delete是c++的运算符。它们都可用用申请动态内存和释放内存。对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此c++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。

     centos   共享不了文件夹

     mount -t vmhgfs .host:/ /mnt/hgfs cannot mount filesystem: no such device  解决办法如下:

    https://my.oschina.net/u/2400083/blog/474940 

    20161019

    http://blog.csdn.net/csxiaoshui/article/details/44177495  c++11 多线程 实现方式

    http://blog.csdn.net/csxiaoshui/article/details/44202129 

    arning: Source file is more recent than executable. 出现了上述错误的原因是,修改了源文件,而没有make!因此,需要重新编译一遍

      Uedit 打开Ini , 显示是ANSI文件。吕工说转换成 UTF8编码,QT读入就正常。

    no matching function for call to  ifstream open

    Change to:

    file.open(name.c_str());

    or just use the constructor as there is no reason to separate construction and open:

    std::ifstream file(name.c_str());

    null was not declared in this scope

    NULL并不是C++的关键字,它可以看一个0的常量,因此用 #define NULL 0

    2016-10-18 周二

    C++设计模式里有工厂模式,单例模式。

    http://blog.csdn.net/bestone0213/article/details/43491785   单例例子

    QHBoxLayout:水平布局,在水平方向上排列控件,即:左右排列

    2016-10-14

     C语言变量声明加冒号的用法(占位符)   

    http://blog.chinaunix.net/uid-24517549-id-4051159.html    位域,段域。

    c++函数声明 后面加冒号:   C++类构造函数初始化列表  成员初始化列表,按声明顺序初始化

    http://blog.csdn.net/ianchoi/article/details/6917899  这个有一个详细的构造函数使用 初始化列表的好处和举例,最大的好处是使常量数据成员赋值变为可能,相当于初始化。还有是类成员初始化之前就初始化完成了。内置初始化不能达到的。

    tableWidget用了一个双击槽函数on_tableWidget_doubleClicked(QModelIndex index) 。会传递一个参数QModelIndex index,会在槽函数中判断是第几行,执行响应的操作,我现在的问题是我想在其他地方也触发这个槽函数,我就是不知道怎么给QModelIndex类型赋值,

    2016-10-13

    http://www.cnblogs.com/cxjchen/p/3148582.html  单例模式

    2016-10-10

    http://www.cnblogs.com/daidaigua/archive/2012/04/18/2455399.html

    reentrant

    实在没找着qt的方法, 通过windows api暂时满足我的需求; void xxx::focusInEvent(QFocusEvent *event) { ... //关闭输入法 QWidget *pWidget = this->window(); QNoNCDialog *pNcDialog = (QNoNCDialog*)pWidget; HWND hWnd = pNcDialog->GetHwnd(); m_hIMC = ImmAssociateContext(hWnd, NULL);  } void xxx::focusOutEvent(QFocusEvent *event) { ... //恢复输入法 QWidget *pWidget = this->window(); QNoNCDialog *pNcDialog = (QNoNCDialog*)pWidget; HWND hWnd = pNcDialog->GetHwnd(); ImmAssociateContext(hWnd, m_hIMC);  }

    HIMC _IMC; HWND hWnd = (HWND)this->winId(); _IMC = ImmGetContext(hWnd); if (hWnd && IsWindow(hWnd)) {     ImmAssociateContext(hWnd, NULL);     ImmReleaseContext(hWnd,_IMC); }

    2016-10-08

    今天吕工给了一个新的程序,然后很多DOS下的东西,没有用过和见过

    unsigned char far *    :大于64K的块被分配;用远指针存取该块

    在16位编译器(Turbo C..)中常见。这跟内存寻址有关(看一下汇编。。。我头都大了@_@) PC机的内存地址是由段地址和偏移地址组成(汇编中常见的词),每个段不能超过64K地址。因此在段内寻址,只要用到偏移地址就够了,因段地址寄存器所存的段地址是不变的,用指针时,只16位够了(仅表示偏移地址)这类地址称为近指针(near型);当要跨段时,即要指明所要存取的段地地和偏移地址时,这时段寄存器中所存段地址要改变,因此要用指针指向另一个段内地址时,此时要用32位表示(段地址:偏移地址),称远指针,是far 型的。 在16位C编译器还提供了一种huge巨型指针,当地址超过64k段容量时,自动修改段地址,使之指向另一段。不过,这些都是由系统自动管理,我们用不着操心。 unsigned char far *就是一个指向无符号字符型的远指针(也就是指向一个字节的远指针)

    void interrupt (*oldtimer)(void) 首先interrupt 用于说明这是中断处理函数, 我们为了简单方便, 先省略它,变成 void (*oldtimer)(void) 根据运算顺序: 1, *oldtimer 说明oldtimer 是个指针! 2, (*oldtimer)(void) 说明(*oldtimer)是个函数 3, void (*oldtimer)(void) 说明函数(*oldtimer)(void) 的返回类型是void 即 oldtimer 是一个指向 “无参数,返回类型为void” 类型函数的指针。

    getvect()函数是用来取得DOS中断地址。setvect()则是用来向指定的DOS中断地址写入新的中断内容 GCC G++ gdb

    2016-09-23 周五

    对于功率,dB = 10*log()。对于电压或电流,dB = 20*log()。 dB的意义其实再简单不过了,就是把一个很大(后面跟一长串0的)或者很小(前面有一长串0的)的数比较简短地表示出来。如(此处以功率为例): X = 100000 = 10*log(10^5) = 50 dB X = 0.000000000000001 = 10*log(10^-15) = -150 dB dBm 定义的是 miliwatt。 0 dBm = 10log(1) mW = 1 mW; dBw 定义 watt。 0 dBw = 10log1 W = 10*log(1000) mw = 30 dBm。 dB在缺省情况下总是定义功率单位,以 10*log 为计。当然某些情况下可以用信号强度(Amplitude)来描述功和功率,这时候就用 20log 为计。不管是控制领域还是信号处理领域都是这样。比如有时候大家可以看到 dBmV 的表达。

    -------Cin输入16进制数:

    #include <iostream> using namespace std; int main(void) {     int getint;     cout<<"put in num:"<<endl;     cin>>hex>>getint;     cout<<hex<<getint;     return 1; }

    ----控制台竟然没有输出

        uint8_t uchCRCHi = 0xFF ;      uint8_t uchCRCLo = 0xFF ;      cout<<hex<<uchCRCHi<<endl;     cout<<hex<<uchCRCLo<<endl;

    改成

        uint16_t uchCRCHi = 0xFF ;     uint16_t uchCRCLo = 0xFF ;

    就有输出了。

    转载请注明原文地址: https://ju.6miu.com/read-1124220.html

    最新回复(0)