首页
学习
活动
专区
工具
TVP
发布

Windows开发

致力于帮助Windows客户端开发新手进阶为高级开发人员,系统学习请关注微信公众号:Windows开发。
专栏作者
43
文章
104678
阅读量
18
订阅数
提升编程能力的6条建议
每位程序员都希望自己的能力变得更强,那有什么方式,需要作出什么改变来实现呢?接下来,我将分享关于提升编程能力的6条建议。
gaigai
2021-05-24
8600
5分钟了解OAuth2与OpenID
互联网产品离不开帐号登录或第三方登录、资源授权访问,经常会听到OAuth2、OpenID这些概念,它们是什么、有什么用、有什么关系呢?接下来,我将简单介绍OAuth2和OpenID。
gaigai
2021-04-29
4.7K1
单例对象不适合用static对象
C++ static对象只会被初始化一次,而且整个应用内只有一个对象,于是经常看到开发人员会将其作为单例对象,一般情况下没有问题,但是在多线程场景下static对象不适合用作单例对象,为什么呢?
gaigai
2021-04-29
7390
string无法取代char*
涉及字符串,C开发人员使用char*,大部分C++开发人员会优先使用string,其实string也不是万能。接下来,我将介绍string无法取代char*的三个场景。
gaigai
2021-04-29
8130
构造函数调用子类的方法,写过吗?
这段示例代码,类Derive派生于Base,Base的构造函数与虚构函数均调用虚函数GetValue(),根据C++多态特性,应该是要调用Derive的GetValue()返回2,真的是这样吗?让我们看下最终的输出。
gaigai
2021-04-13
1.4K0
根据类名的字符串实例化
假设你的源码定义了类CDemoClass,那么new CDemoClass()可以实例化CDemoClass。那么如果给你一个字符串“CDemoClass”,怎么实例化出CDemoClass呢?new "CDemoClass" 编译器就不让你通过了。
gaigai
2021-04-13
2.3K0
C++ this竟然可以是null
这段代码,定义类CDemoClass,类CDemoClass内定义一个成员变量m_nValue,定义一个安全获取m_nValue的成员函数GetSafeValue(),GetSafeValue()内部先判断this是否为null,如果是返回默认值0,否则返回m_nValue值。函数main()定义CDemoClass指针变量pDemoClass,并赋值为nullptr,然后调用pDemoClass的GetSafeValue()方法。运行效果如下图所示:
gaigai
2021-04-13
8030
现在学C/C++没啥用吗?
当今有很多高级语言:Java、C#、Python、Javascript、Go等,为什么还要学C/C++呢?其实,C/C++语言无处不在,桌面操作系统(Windows、Linux、Mac)、移动操作系统(Android、iOS)、浏览器(Chrome、FireFox)、游戏引擎(Unity3D、cocos-2d)、数据库(mysql、sqlite)、高级语言的编译器和解析器、跨平台框架(QT、Flutter)等,它们的底层都是用C/C++开发。接下来,我将介绍下C/C++语言具有的四大优势。
gaigai
2021-03-24
5650
利用strcpy攻击服务器
char* strcpy(char * destination, const char * source)
gaigai
2021-03-24
1.8K0
C++多态实现原理
如上示例代码,定义基类BaseClass,BaseClass定义了虚析构函数、虚函数VirtualFunction1、虚函数VirtualFunction2、非虚函数NonVirtualFunction。
gaigai
2021-03-06
5030
应用数据文件存放哪里
应用运行过程中产生的数据文件(如日志文件、配置文件),应该存放在哪个目录呢?存放在应用安装的目录内?不建议,安装目录一般是在C:\Program Files\目录下,如果运行的用户不是管理员用户,应用安装目录是只读,无法写文件。
gaigai
2021-03-06
4.7K0
代码的坏味道
Martin Fowler的《重构》一书中介绍了许多安全小重构的方法,同时这本书也介绍了什么样的代码需要重构,作者专门有一章<代码的坏味道>专门作了介绍。其中有一些坏味道的代码片段很常见,我为此作了整理,读者尽量不要写出这类代码,看到这类代码时考虑是否可以优化它(如何优化就去阅读《重构》这本书)。
gaigai
2021-03-06
6990
排查右键菜单不显示/显示慢问题
当我们右键资源管理器/浏览器的时候,会弹出菜单。你有没遇到过右键时不会弹出菜单或菜单弹出很慢?特别是安装一些软件后某一天发现了该问题,但又不知道是哪款软件所致。笔者最近遇到该问题,用网上的查看/修改注册表等方式未解决,最后使用ShellExView工具解决了。接下来将给大家介绍如何使用ShellExView工具排查/修复。
gaigai
2021-02-04
1.2K0
选择QT作为Windows客户端开发框架
当你的产品决定使用C++进行Windows客户端开发时,也许QT是非常适合您产品的C++开发框架,框架选型时不容错过。其跨平台、功能丰富、文档齐全,稳定、已广泛应用于许多产品。
gaigai
2021-02-04
3.1K0
谨慎在对外提供的方法中使用inline
假设模块B集成模块A的能力,模块A内部和模块B都会使用类CPerson,那么会存在什么问题呢?
gaigai
2021-01-21
3660
完整部署运行时库
运行时库是软件运行时必需依赖的一系列DLL,最常见的是VC运行时库(比如msvcrt.dll),如果有用到MFC还需要依赖MFC库。
gaigai
2020-03-31
5350
DES加解密实现
对称加密算法包括DES、AES,其中DES算法的密钥56位(7字节)安全性较弱,于是产生3DES算法,3DES使用3个密钥,加密过程:用秘钥1进行DES加密,秘钥2进行DES解密,秘钥3进行DES加密;解密过程:用秘钥1进行DES解密,秘钥2进行DES加密,秘钥3进行DES解密。
gaigai
2020-02-18
2.1K0
基于libcurl进行HTTP请求
互联网时代,单机客户端应用几乎不存在,许多服务存在云端,客户端通过HTTP(Restful API)访问云端服务,所以HTTP请求基础能力是客户端必备的。
gaigai
2020-02-10
6.9K3
点击任务栏图标窗口未展示在前面
点击任务栏图标,对应的窗口会激活带到前台,笔者在项目中遇到点击任务栏图标一直不起作用,大家未必会遇到该问题,原因不重要,排查过程的思路、工具更重要。
gaigai
2019-12-26
2K0
窗口之间Parent和Own关系的区别
窗口之间Parent和Own关系有本质上区别,平常都简单叫做父子关系,其实是错误的。
gaigai
2019-12-04
1.2K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档