自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Android 抓取logcat log

1.下载安装adb2.手机连接电脑3.电脑上CMD打开命令窗口,定位到adb的目录4.然后执行命令,开始抓取日志adb logcat -v time > d:\logcat.log 开始抓取日志,并保存到当前路径下,文件名为 logcat.log5.输入上面的命令后,回车,然后在手机上操作APPCtrl+c 结束日志抓取adb logcat -c 清空旧日志...

2022-01-04 09:12:00 1863

原创 安装app提示解析包错误解决办法

安卓10.0以上版本安装apk使用以下代码会提示:解析包错误Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(downloadUri,“application/vnd.android.package- archive”);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);需要加上: intent.addFlags(In

2021-07-30 11:01:18 1877

原创 request下载一直返回16,失败原因

权限、android:requestLegacyExternalStorage=“true"等所以必须要加的都已加上,在安卓系统10以下可以正常完成下载,在安卓系统10以上设备上失败,除了系统不一样,也有可能是芯片也不一样的原因。调试了很久终于可以正常下载,需要在manifest的application中添加:android:networkSecurityConfig=”@xml/network_security_config"内容为:<?xml version ="1.0" encoding

2021-07-29 15:33:54 378

原创 file.mkdirs()一直返回false

安卓版本10.0.1,已经确保root过了,代码中已经添加动态获得读写权限,然后运行file.mkdirs()还是一直返回false.原因:需要在manifest的application中添加android:requestLegacyExternalStorage=“true”

2021-07-29 10:11:22 1270 1

原创 EditText默认不弹出软键盘

editText的父布局设置:android:focusable=“true”android:focusableInTouchMode=“true”

2021-07-22 10:11:14 370

原创 linux实时查看进程占有率

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器可以直接使用top命令查看整体情况但是这样虽然看的东西多,但是闲的比较乱,并且从如此多的内容中找到我们所需要的也较为困难,故此可以增加一些参数来优化显示结果,使之更清晰。例如,通过ps命令我们找到所要跟踪的进程的名字和ID在确认进程信息之后我们就可以使用top命令来进程跟踪了。这里我们要学习下top命令的参数(此处为简述,有兴趣的同学可以找专门的材料进行学习)-b:以批处理模式操作

2020-07-22 14:43:08 518

原创 Advanced Installer打包程序

1.选择Visual studio Application,点击右下角Create Project2.填写product Name以及manufacturer Name3.选择安装文件类型,msi或者exe等4.选择打包好的文件输出路径5.选择工程所在路径,比如.sln6.选择要导入的可执行文件的环境7.选择你要打包的可执行文件,一个或多个8.选择需要生成快捷方式的可执行文件9.选择是否需要安装后自动安装的可执行文件10.选择对话框样式11.选择是否要添加licence,然后

2020-07-16 14:30:26 588

原创 TCP通信 vc与qt的区别

服务端:vc函数qt函数Server函数QTcpServer 监听套接字Socket函数QTcpSocket 通信套接字bind,listen统一为listenaccept无accept,当有链接时,会产生一个信号:newconnection,可以从槽函数取出建立好的套接字(对方的)TcpSocket。当建立好连接,套接字会自动触发connected信号recvread socket触发ReadyRead信号sendwrite socket触

2020-07-16 11:13:31 433

原创 使用Winring0

项目中需要查询CPU温度,所以用到winring0.dll,需要知道自己系统是32位还是64位,然后选择winring032.dll还是winring064.dll.使用步骤:1.在项目生成执行文件的目录下放入dll文件(WinRing0x32.dll/WinRing0x64.dll)以及sys文件(WinRing0x32.sys/WinRing0x64.sys)2.在cpp源文件中包含头文件“OlsApiInit.h”以及“OlsDef.h”3.工程项目设置为管理员权限:项目右击->项目属性

2020-07-16 10:53:46 4705 2

原创 查看某个端口的连接数

Linux:netstat -nat | grep -i “端口号” | wc -lwindows:netstat -ant | find “端口号” >d:\a.txt或netstat -aon | findstr “端口号”

2020-07-16 10:37:44 1414

转载 关于套接字read/write的返回值

**关于套接字read/write的返回值目录标题**1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着

2020-07-16 10:26:48 1142

转载 EA类的关系

EA类的关系Enterprise Architect中定义的关系主要有一下几种:●Associate(关联):类之间有关联,通常是作为变量存在;●Aggregate(聚合):类A包含类B或由类B组成;●Compose(组合):类A是由其他类组成;●Dependency(依赖):类A需要类B的协助,类B变化会影响类A,反过来不成立;●Generalize(泛化):一般到具体的关系;●Realize(实现):类A实现类B;注意:其中,聚合,组成属于关联关系,泛化关系表现为继承或实现关系(is a

2020-07-16 10:26:37 1627

转载 监测内存越界

监测内存越界#ifndef _CHECKMEMOVERFLOW_H_#define _CHECKMEMOVERFLOW_H_#define CHECK_MEM_OVERFLOW#ifdef CHECK_MEM_OVERFLOW//操作系统内存分配粒度为页面(4K)#define PAGE_SIZE 4096#define PLATFORM_WIN32#ifdef PLATFORM_WIN32#include <stdlib.h>#include <windows.

2020-07-16 10:26:23 132

转载 _set_invalid_parameter_handler异常处理函数

_set_invalid_parameter_handler异常处理函数VS2005之后的版本,微软增加了一些新的异常机制,新机制在出现错误时默认不通知应用程序,这时程序就崩溃了。所以这种情况下,必须调用_set_invalid_parameter_handler、_set_purecall_handler设置自己的异常处理函数。以下示例代码:// test.cpp// compile with: /Zi /MTd// C++ Exceptions : /EHa#include <st

2020-07-16 10:26:05 1127

转载 一个封装好的线程类

一个封装好的线程类一.创建线程函数常用的创建线程的函数是CreateThread,还有MFC中的AfxBeginThread方法.另一种函数是_beginthreadex,其实它在内部调用了CreateThread,在调用之前_beginthreadex做了很多的工作,从而使得它比CreateThread更安全.所以一般使用_beginthreadex来创建线程.于是以下使用_beginthreadex函数来创建线程类.二.线程类示例1.Thread.h文件如下:#ifndef _THREAD

2020-07-16 10:25:28 156

转载 静态链接库与动态链接库使用详解

静态链接库与动态链接库使用详解一.静态库用通俗的话讲,静态库就是将代码编译到一个二进制文件下(通常扩展名为.LIB).然后客户端调用程序,只需要包含相关的.h文件及LIB库文件一起链接到exe文件中.可执行程序发布后,不再需要该.lib文件了.二.动态库最终将编译出.lib与.dll文件. 注意.lib文件与上面的静态库虽然扩展名相同,但有本质的区别.动态库中的lib文件是动态库的引入库. 该引入库包含被DLL导出的函数和变量的"符号名".而静态库中的.lib包含了函数和数据,动态库的函数和

2020-07-16 10:24:46 350

转载 SVN分支/合并原理及最佳实践(转)

使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛。下文的实践主要是参考了TortoiseSVN的帮助文档和Subvers

2020-07-16 10:24:13 369

转载 DEBUG和RELEASE版本差异及调试相关问题

[转]DEBUG和RELEASE版本差异及调试相关问题Debug和Release有什么区别?怎么把Debug转成Release ?1。Debug和Release有什么区别,为什么要使用Release版本!2。怎么把Debug转成Release转载:Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MF

2020-07-16 10:23:49 720

转载 深入MFC中WM_COMMAND的传递

MFC将windows消息系统进行了高度的抽象和封装,其根本原理是运用C++的高级特性并结合一定的设计模式(如工厂模式,模板方法等)来实现的。一般的windows消息(WM_XXX),则一定是由派生类流向基类,没有旁流的可能。如果是命令消息(WM_COMMAND),那就有比较奇特的路线了。下面就针对多文档/单文档(Document-View)、对话框两种应用程序比较讨论WM_COMMAND消息的传递处理过程。讨论前首先得明确命令消息的来源,命令消息一般是用户选择某个菜单项,或一个加速键被翻译,或一个子控件发

2020-07-16 10:23:30 367

转载 Qt 之自定义界面(QMessageBox)

简述通过前几节的自定义窗体的学习,我们可以很容易的写出一套属于自己风格的界面框架,通用于各种窗体,比如:QWidget、QDialog、QMainWindow。大多数窗体的实现都是采用控件堆积来完成的,只要思路清晰,再复杂的界面实现起来都游刃有余。下面我来列举一个由QMessageBox扩展的提示框-根据其源码实现思路来实现!| 版权声明:一去、二三里,未经博主允许不得转载。效果自定义提示框实现message_box.h#ifndef MESSAGE_BOX#define MES

2020-07-16 10:22:40 1269

转载 CoInitializeEx

函数说明:CoInitializeEx是 Windows提供的API函数,为当前线程初始化COM库并设置并发模式 。应用程序调用com库中的函数(除CoGetMalloc和内存分配函数)之前必须初始化com库。函数原型HRESULT CoInitializeEx(void * pvReserved,DWORD dwCoInit);参数介绍:pvReserved系统 保留的参数,必须传入 NULL.dwCoInit该标示指明基于当前线程的并发模式和初始化选项。该参数是 COINIT 枚举

2020-07-16 10:22:27 1099 1

转载 Qt5中的lambda表达式和使用lambda来写connect

c11新特性中加入了lambda表达式,所以Qt 也支持需在.pro文件中加入CONFIG += c++11例子:QString program = "C:/Windows/System32/cmd.exe"; QStringList arguments; arguments << "/c" << "dir" << "C:\\"; QProcess* cmdProcess = new QProcess; QObject::conne

2020-07-16 10:21:45 954 1

转载 Qt Creator 添加自定义注释

注释的原则是有助于对程序的阅读理解,不宜太多,也不能太少(一般情况下,源代码有效注释量必须在 20% 以上)。注释的风格可根据自己的喜好自定义,但必须准确、简洁、易懂。说明性文件(例如:.h 文件、.inc 文件、.def 文件等)头部应进行注释,注释一般需要列出:版权说明生成日期作者功能此外,也可以列出与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。那么,如何在 Qt Creator 中自动补全注释呢?| 版权声明:一去、二三里,未经博主允许不得转载。基本配置打开

2020-07-16 10:21:24 304

转载 QSS详解

什么是QSSQSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的属性都可以用在Qt的所有控件上。QSS在Qt程序中的使用办法首先将QSS写在文件中,然后利用如下的代码设置QSS:MainWidget::MainWidget(QWidget *parent) : QWidget(parent), ui(ne

2020-07-16 10:19:11 8809

转载 QT中常见控件

QT中最常用的控件QPushButton(按钮)、QLineEdit(文本框)、QRadioButton(单选框)、QCheckBox(复选框)、QFrame(一般用作容器控件,配合布局)、QProgressBar(进度条控件)这些控件的使用方法都非常简单,查一下帮助文档就可以搞定,下面的章节中,我们会讲解另外的一些控件的常用但是却不是很容易找到的功能。QVariant 类型再讲解其他控件之前,我们需要先了解Qt中的QVariant类型,为什么呢,因为需要为控件绑定数据,就离不开对QVariant类型的

2020-07-16 10:18:13 2287

空空如也

空空如也

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

TA关注的人

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