- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 操作系统之页面置换算法
在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。
2024-04-19 08:16:57 128 1
原创 进程和线程的区别?
是资源分配的基本单位,进程中包括可执行的代码、打开的文件描述符、挂起的信号、进程的状态、内存地址空间、存放全局变量的数据段,以及一个或多个执行线程等。总的来说,进程是资源的容器,用来把资源集中到一起,而线程是在 CPU 上被实际调度的实体对象。是独立调度的基本单位。每个线程都拥有一个独立的程序计数器、线程堆栈和寄存器。
2024-04-16 09:37:14 157
原创 C++ std::string 和std::map实现原理
和std::map在 C++ 中的实现原理基于不同的数据结构,但都提供了高效的操作和灵活性。
2024-04-12 14:25:59 495
原创 加载 Windows 程序的搜索顺序
在 Windows 操作系统中,当一个应用程序尝试加载一个动态链接库(DLL)而没有指定完整的路径时,系统会按照一定的顺序搜索 DLL 的位置。
2024-04-11 08:10:18 451
原创 Windows程序可执行目录和进程的当前目录的区别
进程可以改变其当前工作目录,可使用如 SetCurrentDirectory 这样的 Windows API 函数来指定一个不同的目录作为当前工作目录。开发者在设计程序时,应该考虑到这一点,并确保程序在不同的工作目录下也能正确地找到所需的资源。例如,如果一个程序的可执行文件位于 C:\Program Files\MyApp 目录中,那么在程序启动时,该目录将自动成为它的当前工作目录。这意味着,如果一个程序从特定的路径下启动,那么这个路径将成为该进程的初始当前工作目录。
2024-04-11 07:59:24 220
原创 Windows开发的“入口点函数“和“嵌入可执行文件的启动函数“两者有什么区别和联系
在实际开发中,如果你正在开发一个需要嵌入到其他应用程序中的组件或库,你需要定义一个启动函数来管理这个组件的生命周期。在嵌入的情况下,启动函数充当了与宿主应用程序交互的桥梁,它在适当的时候调用嵌入可执行文件的入口点函数。在这种情况下,嵌入的可执行文件需要一个特定的函数来处理它的启动和执行,这个函数就是所谓的启动函数。入口点函数直接开始程序的执行,而启动函数负责在宿主环境中启动和管理嵌入的程序。作用:启动函数负责加载嵌入的可执行文件,设置它的运行环境,调用它的入口点函数,并在适当的时候处理它的退出。
2024-04-11 07:51:55 428
原创 目标文件存储结构(C++)
段 功能 File Header 文件头,描述整个文件的文件属性(包括文件是否可执行、是静态链接或动态连接及入口地址、目标硬件、目标操作系统等) .text section 代码段,执行语句编译成的机器代码 .data section 数据段,已初始化的全局变量和局部静态变量 .bss section BSS 段(Block Started by Symbol),未初始化的全局变量和局部静态变量(因为默认值为 0,所以只是在此预留位置,不占空间) .ro
2024-04-10 08:43:57 98
原创 static_cast、dynamic_cast、const_cast 和 reinterpret_cast 用途和区别
总结来说,static_cast 适用于大多数基本的类型转换,dynamic_cast 用于处理多态类型的安全转换,const_cast 用于修改 const 属性,而 reinterpret_cast 用于非常规的指针和整数之间的转换。在使用这些转换时,应该遵循 C++ 的类型安全原则,避免潜在的风险和错误。
2024-04-09 13:59:27 235
原创 Windows Dll什么时候要DllMain
如果 DLL 只是提供函数和资源供其他模块调用,而不需要特别的初始化或清理,那么可以不包含 DllMain 函数。管理进程间的通信:DllMain 可以用来处理进程间的通信,例如,当一个新的进程附加到 DLL 时,DLL 可以启动一个线程来与新进程通信。进程附加和分离通知:DllMain 可以用来跟踪有多少个进程附加到了该 DLL,这对于实现某些需要跨进程共享状态的 DLL 功能是有用的。清理:当 DLL 从进程中卸载时,DllMain 可以用来执行清理操作,如释放资源、关闭文件句柄或撤销之前设置的钩子。
2024-04-08 08:27:24 181
原创 C++ decltype的作用
decltype是一个关键字,它在C11标准中被引入,用于在编译时推导表达式的类型。它的主要作用是使得类型的推导更加灵活和方便,尤其是在泛型编程中。C++11允许函数返回值类型后置,decltype经常与此特性一起使用,使得函数的返回类型依赖于函数体内的表达式。在某些复杂的类型推导场景中,使用decltype可以使代码更加清晰,因为它直接反映了推导的类型。当推导的类型涉及到引用时,decltype会保留引用类型,而auto则不会。使用decltype可以避免不必要的类型转换,直接使用表达式的真实类型。
2024-03-29 08:29:01 335
原创 c++ 的左值和右值如何理解
在C++中,左值(lvalue)和右值(rvalue)是表达式的分类,这个分类是基于表达式在程序中的位置和行为。理解左值和右值对于掌握C++中的移动语义和高效编程非常重要。
2024-03-29 08:13:19 289
原创 curlpp(curl C++) http错误码和重定向后的url获取
【代码】curlpp(curl C++) http错误码和重定向后的url获取。
2023-10-26 09:08:17 246
原创 Windows vs2015下编译curlpp
这里生成的 vs 工程,生成路径 和 依赖路径 全都是 绝对路径,不知道如何自动生成相对路径 的工程,欢迎分享!类似错误修改方法参考。
2023-10-25 09:21:44 116
原创 curl verbose模式有什么用
verbose模式用于显示更多的详细信息,包括请求和响应的头部信息,以及与服务器之间的通信过程。1. 查看请求头部信息:verbose模式可以显示HTTP请求的头部信息,包括请求方法、URL、请求头、Cookie等。2. 跟踪重定向:当请求发生重定向时,verbose模式可以显示重定向的过程,包括每个重定向的URL和状态码。这有助于了解请求的流程以及重定向是否按预期工作。总之,verbose模式是curl命令中一个有用的选项,可以提供更多的详细信息,帮助开发人员进行调试和分析HTTP请求和响应。
2023-10-23 15:47:27 196
原创 SBCS、DBCS、ASCII、MBCS(ANSI)、Unicode
1.三种编码方式和三种字符类型。第一种编码方式是单字节字符集,称之为SBCS,它的所有字符可用一个字节存储。ASCII码就是SBCS。SBCS字符串由一个零字节结尾。 第二种编码方式是多字节字符集,称之为MBCS,它包含的字符中有单字节长的字符,也有多字节长的字符。Windows用到的MBCS只有二种字符类型,单字节字符和双字节字符。因此Windows中用得最多的字符是双字节字符集,即DBCS,通常用它来代替MBCS。 第三种编码方式是Unicode。 Unicode只是一个字符集,它只规定了符号的
2023-09-20 10:22:49 264
原创 MFC CRichEditCtrl实现不同行不同颜色
1.首先在添加在资源视图中添加CRichEditCtrl控件,并关联变量:注意将属性Multiline和Read Only设为True:2.初始化控件在BOOL CRichEditTestApp::InitInstance()函数中添加:...if (!AfxInitRichEdit2()){ return FALSE;}......
2019-07-02 09:26:27 1491
转载 Android获取APP名称、包名、版本号和versioncode等信息
参考博客:Android获取APP的应用程序名称、包名、图标,版本号基本信息
2018-08-04 11:26:51 30639 1
转载 Android Studio 添加第三方库的6种方式
请参考下面博客:Android Studio 添加第三方库的6种方式(Jar,module,so等)
2018-07-27 18:44:32 4017
原创 启动页背景图片拉伸变形问题
如果纯粹以一张切图作为启动页的背景,部分机型会出现图片被拉伸现象(横屏也会出现),为彻底解决该问题,可将其中希望固定大小的图片单独切图,背景可自绘,代码如下:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" &g...
2018-07-12 17:15:30 15800
原创 垂直滚动广告条
1、效果图如下效果图每条广告一行显示,过长则末尾显示省略号;点击每条广告执行相应的动作;左侧添加一个固定的图标2.布局代码如下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=...
2018-05-15 11:49:41 344
原创 生成可防止中文乱码的二维码(zxing-android-embeded)
代码如下: public static Bitmap createQRCode(String content, int width, int height) { try { BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); Bitmap bitmap = barcodeEnco...
2018-05-07 09:30:24 1242
原创 控件截图并通知图库更新
// 通知图库更新void saveImageToGallery(){ // mViewScreenShot要截图的控件 String path = CommonUtils.saveImage(this, mViewScreenShot); if(!TextUtils.isEmpty(path)){ // 最后通知图库更新 ...
2018-04-18 09:51:31 167
原创 JavaDoc和eclipse如何导出文档
JavaDoc注释Javadoc注释的用法eclipse如何导出文档eclipse如何为java项目生成API文档、JavaDocEclipse导出JavaDoc中文乱码问题解决
2018-03-22 10:21:28 819
原创 标题栏去不掉问题
在setContentView前添加代码:requestWindowFeature(Window.FEATURE_NO_TITLE);未能将标题去掉,后来在AndroidManifest.xml中添加:android:theme="@style/Theme.AppCompat.Light.NoActionBar"顺利把标题栏去掉了。
2017-12-01 09:43:21 431
原创 linux下Python版HTTP服务器(用于分享文件)
1、在终端进入你想分享的文件夹中,然后输入:python -m SimpleHTTPServer 端口号如:python -m SimpleHTTPServer 80092、在别的机器的浏览器地址栏输入:http://分享机器的ip:8009如分享文件的机器ip是192.168.0.203,则输入:http://192.168.0.203:8009,3、分享后在浏览器中的效
2017-07-05 09:31:37 743
Android垂直滚动广告
2018-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人