自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 SimpleNES 源码阅读需要了解的一些基本知识

1、需要了解6502CPU指令集及特点(https://daimajiaoliu.com/daima/4edcd96ed100402;https://wusiyu.me/6502-cpu%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80%E6%8C%87%E4%BB%A4%E9%9B%86/);2、CPU的工作原理(取指、译码、执行,中断等的运行过程);3、.NES文件结构(https://www.jianshu.com/p/77e075a3a442;英文版 http://fm

2021-11-09 18:30:00 443

原创 树莓派3B+Qt5.12.4交叉编译

树莓派3B+Qt5.12.4这边为树莓派3B 使用的QT源码和IDE版本均为QT5.12.4【树莓派】准备工作:树莓派默认账号是 username: pi, password: raspberry; 树莓派更新固件和驱动:sudo rpi-update(基本上不成功,具体更新操作可以看这篇,要下载的话最好早上下载,速度会比较快)sudo reboot更新程序并安装必要的文件:(1)、首先修改/etc/apt/sources.list文件 (注意要用管理员权限), 去掉...

2021-11-08 13:55:06 784

原创 SimpleNes源码编译

源码地址 https://github.com/amhndu/SimpleNES1、安装MinGW32,配置环境变量 把安装路径的bin目录添加到环境变量的path,可以用gcc -v 查看是否设置成功,把bin目录下的mingw32-make.exe复制一份重命名为make.exe,这样就可以直接make了;2、在windows下,默认是用nmake编译的,如果要用MinGW编译,需要指定为mingwfile, 后加参数 -G"MinGw Makefiles" ,指定gcc编译器 .

2021-10-20 18:40:22 623

原创 qt C++和quick混合编程的例子

1、C++提供model,qml实现界面显示;2、C++定义结构体,qml中调用;3、rowlayout采用repeater;4、stackview界面跳转(有加动画切换);5、LineSeries和ePieSeries图标;6、大致实现了一个C++和qml混合编程的框架。效果图:源码地址:https://github.com/robinsen/qtqml...

2021-04-01 11:45:56 240

原创 在git上创建仓库并上传代码

step1:在github上创建一个帐号https://github.com/step2:在电脑上安装git软件git的下载网址:https://git-for-windows.github.io/step3:在电脑上安装git软件step4:创建本机的ssh Key在git Bash窗口中输入下列命令,创建本电脑的ssh Key$ ssh-keygen -t rsa -C 邮箱地址输入后一路回车,直到显示如下图则表示生成成功。进入这个路径:/c/Users/Adminis...

2021-03-29 13:09:14 470

原创 根据PC端telegram源码提取出来的Qt文本显示代码

最近在做一个聊天软件,是用Qt开发,消息显示是一个比较重要的部分,经常几个尝试发现Qt的默认控件都没有现成的能够实现复制、选中效果、链接、显示表情和图片等的控件,后面发现telegram的PC端也是用Qt写的,就下载了它的源码研究了一下它们的消息显示部分,并单独把这部分提取出来了,在这里分享一下。Telegram的方法大概是这样的:1.flatlabel是显示消息的控件,继承自他们自己封装的twi...

2018-07-05 10:51:45 2745 5

转载 mac更改管理员密码

Mac系统忘记系统密码怎么办呀? 方法一:找出电脑原配的系统盘,重新启动电脑(电脑启动的时候按C键),选好语言后进入安装的时候,点击“常用工具”,里面会有一项是“重设密码”,这时你就可以重新设定系统的管理员密码了。   方法二:开机, 启动时按“cmd+S”。这时,你会进入Single User Model,出现像DOS一样的提示符 #root>。请在#root>下 输入 (注意空格, 大

2014-11-24 13:00:16 3173

转载 Shell命令:echo介绍,echo如何输出带颜色的文本

############################################################# echo命令介绍功能说明:显示文字。语   法:echo [-ne][字符串] / echo [--help][--version]补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。参   数:    

2014-06-20 12:30:17 604

转载 makefile中自动化变量

所谓自动化变量,就是这种变量会把模式中所定义的一系列的文件自动地挨个取出,直至所有的符合模式的文件都取完了。这种自动化变量只应出现在规则的命令中。 下面是所有的自动化变量及其说明: $@     表示规则中的目标文件集。在模式规则中,如果有多个目标,那么,"$@"就是匹配于目标中模式定义的集合。 $%     仅当目标是函数库文件中,表示规则中的目标成员名。例如,如

2014-05-12 15:18:59 658

转载 Eclipse 常用快捷键

Eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。    1. 【ALT+/】    此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。    2. 【Ctrl

2014-02-11 20:44:20 694

转载 linux查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。   (

2014-01-17 22:36:30 663

转载 Qt 自定义事件详细实例

创建用户事件创建一个自定义类型的事件,首先需要有一个事件号,其值通常大于QEvent::User。为了传递事件信息,因此必须编写自定义的事件类,该事件类从QEvent继承。    编写用户事件:编写用户事件类的方法是首先定义一个事件号。然后实现用户事件类,应用程序将把用户事件类于Qt的事件类同等处理。//用户事件类QOriCodeEvent头文件qorico

2013-11-06 10:50:55 1048

原创 ubuntu10 nfs挂载

1.在  /etc/exports  后面添加   /home/root *(rw,no_subtree_check,sync,no_root_squash) /home/root 虚拟机中要挂载的目录    *表示要挂载的ip  ()内是读写权限    2.在开发板上输入 mount -t nfs -o nolock 192.0.0.1:/home/root /mnt/ 直接使用mo

2013-10-10 12:07:09 517

转载 qt中文乱码问题

以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString。很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四个汉字采用的那种编码。而问题

2013-09-19 21:17:29 631

转载 gcc -l参数和-L参数

-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-lte

2013-08-27 16:04:05 609

转载 Ubuntu启动脚本顺序

(1)/etc/profile全局(公有)配置,不管是哪个用户,登录时都会读取该文件。(2)/ect/bashrcUbuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的bash执行时,不管是何种方式,都会读取此文件。(3)~/.profile若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读

2013-08-04 22:38:12 2198

原创 在qtcreator中的集成版designer使用自定义控件

要在qtcreator中使用自定义控件,这在win下算是一个比较麻烦的事,关键在于找出思路。在win的Qt SDK的IDE qt creator包括集成的designer是用Microsoft VC编译的,而独立运行的desinger是用mingw编译的。当然自定义控件是mingw编译的。解决办法之一就是下载qtcreator源码,用mingw编译出qtcreator的release版。编译过后的

2013-07-03 00:27:47 5251 1

转载 利用QT制作自定义控件(linux下)

1.         首先利用QT crearot 创建一个自定义控件项目,在创建的过程中要指明创建的类和创建的类的实例名称。这样在以后使用的过程中可以直接使用。此处还得指明icon图标文件为了在designer中显示。2.         在创建的项目中开始编写相应的处理函数,肯能主要的是重载onpaint函数,这样就可以设计出想要的自定义widget的内容。3.         选择好

2013-06-30 01:50:12 4974 3

转载 C++ 四种强制类型转换的总结

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:    TYPE b = (TYPE)a  C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。  const_cast,字面上理解就是去const属性。  static_cast,命名上理解是静态类型转换。如int转换成char。  d

2013-06-29 20:36:11 656

转载 Qt全局宏和变量

1.  Qt 全局宏定义Qt版本号: QT_VERSION :  (major 检测版本号:QT_VERSION_CHECK(major, minor, patch)((major当使用命名空间时的一些宏定义:namespace QT_NAMESPACE {} //命名空间定义# define QT_PREPEND_NAMESPACE(name) ::QT_NAMESP

2013-06-08 23:56:47 1298

转载 shell中if比较

比较两个字符串是否相等的办法是:    if [ "$test"x = "test"x ]; then    这里的关键有几点:    1 使用单个等号    2 注意到等号两边各有一个空格:这是unix shell的要求    3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个

2013-04-09 21:09:29 2295

转载 linux内核中Kconfig文档的作用

2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.

2013-02-07 13:19:32 522

转载 共享内存和信号量的使用

信号量函数定义如下:#include int semctl(int sem_id, int sem_num, int command, ...);int semget(key_t key, int num_sems, int sem_flags);int semop(int sem_id, struct sembuf *sem_ops, size_t num_sem_ops);事实上,为了获得我们

2013-01-08 14:25:12 3196

转载 QImage与QPixmap完全解析

用Qt程序在手机上显示一幅图片对编程人员来说是再基础不过的一件事情了。那么先让大家看两段代码://dangerous should not be used, cannot display earth.png,  //but if we change earth.png to a smaller image e.g. apple.png, apple.png can be display

2013-01-03 11:31:11 4171

转载 QPixmap和QImage的区别

QPixmap是专门为绘图而生,当需要绘制图片时你需要使用QPixmap。QImage则是为I/O,为图片像素访问以及修改而设计的。如果你想访问图片的像素或是修改图片像素,则需要使用QImage,或者借助于QPainter来操作像素。另外跟QImage不同是,QPixmap跟硬件是相关的,如X11, Mac 以及 Symbian平台上,QPixmap 是存储在服务器端,而QImage则是存储在客户

2013-01-03 11:29:19 1303

转载 Qt Linguist 的使用方式

Qt Linguist 的使用方式lupdate可以把.h, .cpp, .ui中需要翻译的字符串抽出来形成.ts文件 然后用linguist翻译 用lerealse生成.qm1.修改*.pro,在其中添加  TRANSLATIONS = XXX. ts或是TRANSLATIONS += XXX. ts如果要生成多个可以用:

2012-12-28 14:18:08 5447

转载 Linux Shell编程入门

转载   http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,S

2012-12-27 11:17:13 575

转载 QT focusInEvent 事件

Qt的事件模型中提供的事件过滤功能使得一个QObject对象可以监视另一个QObject对象中的事件,通过在一个QObject对象中安装事件过滤器可以在事件到达该对象前捕获事件,从而起到监视该对象事件的效果。实现类似功能的另一种方式是通过分别继承不同的控件类,并重构各控件的事件响应函数,但若窗体中包含大量不同的控件时,每一个控件都必须重新继承,然后分别重构不同的事件函数,实现比较复杂。事件过滤

2012-11-29 17:42:02 5912

转载 QThread 的使用方法

昨天不小心看到Qt开发人员( Bradley T. Hughes)Blog中的一片文章 you are-doing-it-wrong 。 结果看得头昏脑胀:好歹也自学了近1年的Qt,也一直很小心、很认真地阅读Qt和manual和例子等资料,却被突然告知,QThread的正确使用方法是一种自己从没见过,而且Qt manual、example、书籍中都没有提到过的一种方法。到底怎么了...

2012-11-22 18:37:31 538

转载 QThread与QWidget使用

本文主要内容: 在任务一中,用 四 种方式实现:点击界面按钮,开线程运行一段程序,结果显示在一个Label上。1. 用不正确的方式得到看似正确的结果2. 用Qt Manual 和 例子中使用的方法3. 用一种好用但被Qt开发人员批判的方法4. 用一种被开发人员强烈推荐,但Qt Manual和例子中只字未提的方法为了简单起见,本文只讲如何做及其结果是什么,

2012-11-22 18:35:14 1264

转载 QT中 窗口部件的 背景图片 的设置

方法一:首先设置 autoFillBackground 属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette实例:QWidget *widget = new QWidget;widget->setAutoFillBackground(true);QPalet

2012-11-12 10:00:29 1144 1

转载 QPainter中坐标系变换问题

一、坐标系简介。Qt中每一个窗口都有一个坐标系,默认的,窗口左上角为坐标原点,然后水平向右依次增大,水平向左依次减小,垂直向下依次增大,垂直向上依次减小。原点即为(0,0)点,然后以像素为单位增减。例如:void Dialog::paintEvent(QPaintEvent *){    QPainter painter(this);    painter.se

2012-11-04 16:05:12 6878

转载 详解 QT 中.pro文件的写法

QT 中.pro文件的写法是本文要介绍的内容,在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1、注释从“#”开始,到这一行结束。2、指定源文件SOURCES = *.cpp 对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的

2012-10-19 17:27:03 911

转载 Qt QTableview使用

QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并

2012-09-20 15:58:22 774

转载 qt creator 快捷键

F1                         查看帮助F2                         跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2                声明和定义之间切换F4                         头文件和源文件之间切换Ctrl+1                   欢迎模式Ctrl+2

2012-09-05 10:36:09 547

转载 理解 pkg-config 工具

你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。

2012-08-30 17:48:17 638

转载 gcc编译dll和调用dll

方法一:共有三个文件:print.h,print.c,test.c***************************************************************print.h: 文件内容#ifndef PRINT_H#define PRINT_H#ifdef __cplusplusextern " C " {#en

2012-08-29 15:53:07 1147

转载 linux驱动开发 主设备号与次设备号

一个字符设备或者块设备都有一个主设备号和次设备号。主设备号和次设备号统称为设备号。主设备号用来表示一个特定的驱动程序。次设备号用来表示使用该驱动程序的各设备。例如一个嵌入式系统,有两个LED指示灯,LED灯需要独立的打开或者关闭。那么,可以写一个LED灯的字符设备驱动程序,可以将其主设备号注册成5号设备,次设备号分别为1和2。这里,次设备号就分别表示两个LED灯。1.主设备号和

2012-08-27 15:47:25 14381 1

转载 Linux网络设备驱动编程

在此仅仅讨论网络设备驱动的一般写法,有关硬件部分的相关代码由于硬件规格不同,予以省略。有什么地方错误,或补充,欢迎大家提出。 1, 驱动模块的加载和卸载 如果网络设备(包括wireless)是PCI规范的,则先是向内核注册该PCI设备(pci_register_driver),然后由pci_driver数据结构中的probe函数指针所指向的侦测函数来初始化该PCI设备,并且同时注册和初始化

2012-08-27 15:36:40 1312

转载 Cortex系列ARM内核介绍

众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂商,精简的CPU架构,高效的处理能力以及成功的商业模式让ARM公司获得了巨大的成功,使他迅速占据了32位嵌入式微处理器的大部分市场份额,甚至现在,ARM芯片在上网本市场的也大有与INTEL的ATOM处理器一较高低的实力。目前,随着对嵌入式系统的要求越来

2012-08-27 15:34:28 2278

根据PC端telegram源码提取出来的文本显示代码

根据PC端telegram源码提取出来的文本显示代码,可以同时显示表情和文字,可以选中文字,显示链接

2018-07-02

ble 开发示例代码

BLE service explorer 项目通过开发一个通用工具来演示如何发现,连接及交互蓝牙周边设备。它可以用来作为蓝牙central 应用的指导和示例, 也可以作为工具来联接其他设备。覆盖3个主要的Bluetooth smart ready 平台: Android, iOS 以及 WinRT.

2014-01-24

用epoll模型写的 服务端客服端例子

用epoll模型写的 服务端客服端例子,使用线程池

2013-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除