各种知识

想做的事情太多了。

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

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

现在是:

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 ;

就有输出了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值