PC研发实习
文章平均质量分 70
清楼小刘
这个作者很懒,什么都没留下…
展开
-
(六)electron实现"弹窗"——永远在某窗口的前面
今天比较多的是实现一些electron窗口的细节了,比如:Electron隐藏菜单: window.setMenu(null); 参考: https://segmentfault.com/q/1010000010947582Electron窗口的一些风格: http://www.jianshu.com/p/1211d31c4837我发现,在electron调用loadURL函原创 2017-11-29 14:31:55 · 15671 阅读 · 0 评论 -
1月上旬:《C++STL》读书笔记----STL仿函数
is_sorted 检查区间元素是否按升序排列 sort 将区间按升序排序 partial_sort 将区间内较小的N个元素排序 stable_sort 将区间内的元素排序,同时保持相等的元素之间的顺序 二分搜索操作(在已排序范围上)lower_bound 返回指向第一个不小于给定值的元素的迭代器 upper_bound 返回指向第一个大于给定值的元素的迭代器binary_sea...原创 2018-02-10 11:33:34 · 189 阅读 · 0 评论 -
1月上旬——《C++STL》读书笔记 容器
第9章 容器本章主要概括性地介绍容器,以及容器的时间复杂度和对比时间复杂度上的比较: 分类:1.序列式容器序列式容器在STL中主要包含常见的三种:向量vector、链表list和双端队列deque。1.1 向量vector为一种顺序存储同类型元素的数据结构。它是一种数组方式的思路实现,并且可以随机访问的序列。1.2 链表list是一种实现双向链表数据结构的容器。它只支持顺序访问序列中的元素。该容器...原创 2018-02-10 11:40:45 · 152 阅读 · 0 评论 -
1月上旬——vs新建DLL模块遇到的问题
包含了一些不存在的头文件,注意VS的项目属性的include路径。最好的方式是在include语句尝试打开该文档。LINK 1104 无法打开文件xxx.lib: 没给出正确的lib文件路径,所以编译器找不到。注意这个引入lib的目录和include是类似的,也可以在项目属性中链接器---常规---附加库目录 中 输入路径。头文件被定义多次,记得在头文件中加入: “#pragma once”D...原创 2018-02-10 15:07:22 · 247 阅读 · 0 评论 -
1月中旬——vs的各种警告集合
说起来,程序员界有一个梗,程序员只认识error不认识warning,但是其实,有一些warning很可能是bug的根源,或者说是潜在的问题,过多无意义的warning也会覆盖真正有意义的bug。因此,有能力,谨慎的程序员应该避免写出有warning的代码。下面,集中介绍几种我在windows c++编程中遇到的warning:1.非常量引用的初始值必须是左值int fun(Object&...原创 2018-02-10 15:18:29 · 640 阅读 · 0 评论 -
vs的各种常见编译,链接错误
在上手vs写代码,搞工程的阶段,总会遇到各种各样的编译错误,链接错误,而每个错误都有一个编码,做好总结,以后可以帮助我们更好更快地定位问题,解决问题1. error LNK2019: 无法解析的外部符号 __FUN2@8,该符号在函数 "public: static void __cdecl xxx::FUN1(struct HWND__ *,struct HRGN__ *,bool,bool)"...原创 2018-02-10 15:44:45 · 1090 阅读 · 0 评论 -
2月上旬——文本编码,文本读取与二进制流
本期实习最后做的一件事情,就是整理好几个文本读取的API。依稀记得几个接口 ReadFileToBuf, ReadUtf8FileToBuf, ReadAnsiFileToBuf。之间写读取ini文本的接口的时候,是使用了std::wfstream以及getline来读取Unicode文本,不过这里C++自动跳过文件头,这个std::codecvt_utf16也是个神奇的东西: std...原创 2018-02-10 20:24:51 · 574 阅读 · 0 评论 -
2017秋冬季实习工作总结
这并不是一份被要求写的工作总结,而是我在《如何汇报工作——向上管理》这本书中了解到的东西。工作成果: (按常规出牌的话应该是对团队的贡献,不过实习中以学习为主,所以没有做什么贡献, 这项中,leader只在乎你为团队做了什么,并不care你是怎么做的)1. 整理了项目中基本的API: 基础API,UI库, 部分的公共API2.协助进行了xxx和xxxx功能的实现3.清理和替换了一些项目中比较凌乱的...原创 2018-02-10 22:33:34 · 302 阅读 · 0 评论 -
windows下的各种字符串
在windows C++的环境下,会接触到好多种字符串类型:C++的std::string, std::wstring, char*, wchar*, windows的LPCTSTR,MFC的CString.....先来说说C++入门时最早接触的: std::string类和char*string是一个类,用起来非常方便,char*转成std::string的几种方法:char ...原创 2018-02-10 19:39:17 · 1130 阅读 · 0 评论 -
02-06
今天做的一个事情是,查看那个代码扫描出的Bug和warning, 并且把简单的能改的地方都改掉那么我觉得呢,做这个修正对我们的项目是非常有用的。因为有许多潜在的问题都会产生新的BUG。比如最简单的一个类之中的成员变量没有初始化吧。我记得之前弄一些列表的单元格的“眼睛”按钮控件显示的时候就遇到过,搞了2天,最后发现之所以没有进入自己意料中的情况(所谓Bug就是指代码的运行结果不在自己的意料之原创 2018-02-07 00:43:45 · 113 阅读 · 0 评论 -
20+. 套上读取ini文件的接口类
由于之前的一段时间的日记上的空白,所以只能粗略地反思一下之前自己做过的工作。当时那个ini读取接口基本也可以用了,不过总要套在项目上尝试运行,以及小部分的局部替换吧。然后马上就掉入了一个winodws的坑——静态库和动态库问题的背景是这样的: 这个接口类会用map保存所有的语言数据,是一个单例类。随便在一个地方写了,后来发现运行的不太对劲啊。后来才发现,vs的每一个模块都是解决方案的一原创 2018-02-07 00:54:43 · 174 阅读 · 0 评论 -
02-07 WideCharToMultiByte函数使用
马上就要下班了。今天做了什么呢?好像就做了比较简单的几个函数的学习吧。上午有一个困惑:unsigned char 和 char 到底怎么玩呢?可以直接互相强制转换吗?字符类型:char是一个字节, 8位,有符号,所以范围是 [-128, pow(2,7)-1 = 127]BYTE是一个字节, 8位,无符号,所以范围是 [0, pow(2,8)-1=255]BYTE和char可以随便转换,信息不会丢...原创 2018-02-07 22:47:42 · 502 阅读 · 0 评论 -
01-23----26号
之前加上了一个UI库的DLL之后偶然发现某2个小控件不见了,不能正常显示。通过切换回原来的UI库,可以对比试验,发现问题出在本人替换的UI库上。于是乎本人就要去debug。先从定位该控件的ID开始,进入VS的条件断点的调试模式(by the way,微软的黑科技真的不少),后来发现确认调用了UI库的绘制函数啊,好像一切都没有问题啊。我慌了,以为是之前替换的一些头文件依赖的问题。leader其实也教...原创 2018-02-08 00:13:49 · 124 阅读 · 0 评论 -
30+,vs新建模块生成dll
项目中有一个UI库,之前的工作模式是,项目中只使用头文件和生成出的dll,但是见不到源代码。前阶段任务就是,读懂这个UI库,写好使用说明。——后来发现,这个文档应该是写给别人看的,而别人是只关心这个库如何使用,不想听你说一堆乱七八糟的这个库如何实现的这个阶段的任务,就是拿着源代码,在项目中加入一个模块,生成dll——听着好像很简单的一个事情。而且在做这个事情之前,很重要的一个知识点就是:区分静态库...原创 2018-02-08 00:37:34 · 202 阅读 · 0 评论 -
13.14——学习通用API
学习公共库的一些类,包括到以定时器为基础的异步操作,以线程同步为目的的一些锁,信号量,临界区,自动锁等。按照docxygen的规范写注释,还有使用demo典型的就有自动锁:class CAutoLock{public: CRITICAL_SECTION csec; CCritSec() { InitializeCriticalSectio...原创 2018-02-08 00:42:28 · 233 阅读 · 0 评论 -
02.01---CString和string, wstring, 以及::IsWindowVisible
在弄一些字符串处理的问题的时候,往往要用这几个东西变来变去:CString转成string或者wstring,就用:CString strC;//...wstring wstr = (LPCTST)strC;string str = (CStringA)strC;string或者wstring转成CString, 可以:string str;wstring wstr;CString s1...原创 2018-02-08 00:52:33 · 161 阅读 · 0 评论 -
12月下旬——学习UI库,《MoreEffective C++》
学习项目中使用到的UI库:包含字体,绘图,绘制圆,brush,pen之类的和UI相关的东西重置Visual Assistant试用期: https://github.com/vogeljo/reset-vassistx/blob/master/reset-vassistx.bat 学习了《More Effective C++》中的智能指针,引用计数的章节,写了相关的读书笔记的章节学习了代理类...原创 2018-02-10 10:56:53 · 186 阅读 · 0 评论 -
12月中旬——学习语言切换的实现
语言切换的实现,主要是指在一个软件中,由于有不同的语言,而用户是可以选择不同的语言来展示UI的,那么是怎么做到的呢?大体是通过一个map记录下这个软件会用到的所有的语言,记录在内存中。展示的时候根据int的ID就可以查询到对应的语言的字符串,由于log(n),时间效率还是非常快的。当切换语言的时候,就载入不同的语言文本文件(比如说ini, json),再通过观察者模式去通知每一个已展示的控件(不要...原创 2018-02-10 10:17:15 · 158 阅读 · 0 评论 -
(七)windows上的git使用SSH连接
操作系统版本: win 10一般的git有SSH和HTTP 2种连接方式,HTTP我们平时已经熟悉了。但是SSH连接的还比较少用呢。注意到红色的这行字!必须要加一个SSH key参考 : http://blog.csdn.net/jjl123jjl123/article/details/72637075学习这个 http://blog.csdn.net/原创 2017-11-30 00:04:19 · 10299 阅读 · 1 评论 -
(八)接触到一些C++11的新知识
刚接触了一些工程项目的小部分代码,大体的知识点有:单例模式,观察者模式,多线程数据同步,静态变量,静态函数,模板类与类模板,定时器,异步, namespace。不过更多的是,见识了一些C++11的新用法的运用:lanbda表达式去逛逛百度,就会发现这东西很好玩!!!大体用法是: [capture list] (parameter list) { function body }原创 2017-12-01 00:48:16 · 196 阅读 · 0 评论 -
19.Windows跨模块内存管理的浅薄理解
今天编程遇到一个问题:以下这个函数的定义:std::wstring QueryIni::GetValue(const int iKey) { wchar_t sDes[MAX_PATH + 1] = { 0 }; QueryIni::_GetInstance()->_GetValue(iKey, sDes, MAX_PATH);原创 2017-12-19 19:59:16 · 374 阅读 · 0 评论 -
17.18.实现一个读取INI文件的类
开发环境: vs2013, win10经过很多次修改,和对一些错误的学习,才搞定了这么一个类:比如说LPCTSTR的赋值,new和delete要成对出现,字符数组和字符串的库函数去取代自己写字符串处理函数等, wcsncpy_s用法,string类的赋值运算符等。头文件:/* 对文本的处理要求:'='号之前强制为整数,且只允许开头后者结尾存在空格(处理后丢弃空格),不允许存在非数原创 2017-12-19 20:09:27 · 304 阅读 · 0 评论 -
(一)初始electron
第一天,初来炸到安装电脑,DVI线和VGA线,实现双屏显示————蛮有意思的啊(我之前还傻傻的以为是用了分时操作系统)安装vs 2013 vs 2010, git bash 安装完VS后没有快捷方式,找不到可执行程序-------------参考 https://zhidao.baidu.com/question/629653850037869164.html 准备看elect原创 2017-11-23 22:51:41 · 349 阅读 · 0 评论 -
(二)尝试使用shellExcute开启electron进程得到实例句柄
--------------------------------------------day 2---------------------------------------继续学习菜鸟教程中的node.js教程: npm start运行的是什么?----在工程项目下看到package.json的内容, scripts项有一个键值对:, 也就是说, start后会运行 e原创 2017-11-23 23:38:59 · 4278 阅读 · 0 评论 -
(三)win32通过CreateProcess开启electron进程
--------------------------------------DAY 3--------------------------------------------------------------Q:发现之前的win32新建一个electron进程时会自动开启一个cmd——————这自然是不必要的A:注意到ShellExcute函数的最后一个参数,将其改为SW_HIDE,原创 2017-11-23 23:45:37 · 783 阅读 · 0 评论 -
(四)electron尝试使用win32 API——node-gpy到底是干嘛的?
--------------------------------------DAY 4--------------------------------------------------------------Q:测试之后,发现electron已经可以准确的知道windows进程的窗口句柄HWND,接下来要利用ipc,把electron进程的主窗口发送给HWNDA:原生的API做不到,我们原创 2017-11-24 00:14:17 · 12837 阅读 · 0 评论 -
(五上)安装node-gyp并build——解决 "node.lib:fatal error LNK1127" 问题
--------------------------------------DAY 5--------------------------------------------------------------今天要先看清楚node-gyp的使用h如何写能让node.js运用的C++函数超级有用的博文所谓的官方文档在哪里?V8引擎的头文件代码在此——V8引擎头文件node-gyp原创 2017-11-27 15:53:53 · 19181 阅读 · 7 评论 -
(五下)安装ffi模块,使用electron调用win32 api, win32项目设置父子窗口关系
现在安装ffi的可调用模块:发现用npm安装时,报python的错,但是python的环境变量确实没有问题啊:重新安装python,顺便换个路径和环境变量就可以了。在一堆警告中安装了ffi模块,如图:(记录下这堆警告,以后出了BUG可能跟这堆警告有关系)用electron-rebuild rebuild一下ffi(之前提到过,要编译成适合electron适用原创 2017-11-27 16:04:02 · 7431 阅读 · 1 评论 -
(17)读取ini文件的键值对
拿到一个新需求,是读取ini文件中键值对,因此用了一个单例模式:头文件如下:#pragma once#include "stdafx.h"#include#include#include#include#includeclass QueryTraderIni{public: QueryTraderIni(); ~QueryTraderIni();public: /原创 2017-12-15 11:35:37 · 1189 阅读 · 0 评论 -
(18)用std::wifstream读取Unicode文本
在网上找了一个多小时,终于找到可以读取Unicode版本的代码,网上的资源真的太混乱了,还是google->stack overlow好啊:记录代码,转载如下: https://stackoverflow.com/questions/26121782/read-unicode-file-with-special-characters-using-stdwifstream代码如下:#in转载 2017-12-15 15:55:39 · 5026 阅读 · 0 评论 -
9.10 ————画类图
本来是用网页版的processOn画类图,后来发现用的不太爽,尤其是有几个类有20多个子类的时候,图会变得很乱。于是又安装了微软的visio绘图,发现贼好用——6666的然后画类图的话,注重层级关系,通过画类图可以对一些比较复杂的类与类之间的结构理解的比较清晰。掌握了方法之后,画类图其实很快的,不占用多少时间,而且可以帮助自己更好的理解一个项目。原创 2017-12-18 10:06:02 · 2619 阅读 · 0 评论 -
11-12 学习装饰者模式,修改小BUG
一个BUG就是,鼠标hove或者click时,某列表的单元格会有一个按钮,有时候按钮和较长的文字会重叠,要判断当眼睛出现时,文本框往左边缩,让文字少一点,不和按钮重叠。刚开始去看某一个模块的代码,觉得非常的复杂,于是就去画了一下类图,疏通一下思绪。发现挺有用处的,原来使用的是装饰者模式,背景类,文本框类,控件类都有相同的基类,每个子类都有一个成员变量是共同的基类对象base,那原创 2017-12-18 10:20:43 · 141 阅读 · 0 评论 -
15.16——学习gtest
gtest在vs上的配置教程: https://www.cnblogs.com/jycboy/p/6001153.html 然后自己创建头文件,继承 testing::Test其实我也不会玩= =原创 2017-12-18 10:59:27 · 165 阅读 · 0 评论 -
windows下的各种字符串
在windows C++的环境下,会接触到好多种字符串类型:C++的std::string, std::wstring, char*, wchar*, windows的LPCTSTR,MFC的CString…先来说说C++入门时最早接触的: std::string类和char*string是一个类,用起来非常方便,char*转成std::string的几种方法:char szName[10...原创 2019-04-13 13:12:08 · 635 阅读 · 0 评论