自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pid, upid与namespace

进程ID号Linux为每个进程分配一个ID作为其命名空间中的标识,ID有多种类型:进程处于某个线程组时,拥有线程组ID(TGID)(如果没有线程组,则PID与TGID相同)。独立进程可以合并成进程组,进程组成员的task_struct的pgrp属性值相同(为进程组组长PID)(用管道连接的进程包含在同一个进程组中)。几个进程组可以合并成一个会话,会话中所有进程都有会话ID(SID),保存在task_struct中的session中。进程ID类型进程ID类型在include/linux/pid

2020-06-17 22:15:01 2256

原创 进程状态和ps

ps中的进程状态码PROCESS STATE CODESHere are the different values that the s, stat and state output specifiers (header “STAT” or “S”) will display to describe the state of a process:D uninterruptible sleep (usually IO)R running or runnable (on run queue)

2020-06-12 21:39:56 326

原创 schedule

task_struct->mm如果是用户进程,指向当前的进程地址空间。如果是内核线程,为空(内核线程没有进程地址空间)。task_struct->active_mm如果是用户进程,mm与active_mm相同,都指向进程的地址空间。如果是内核线程,指向被借用的用户进程的地址空间(mm)。mm_struct->mm_usersHow many users with user space?mm_struct->mm_countHow many references to

2020-06-12 21:39:22 261

原创 内核栈和current_thread_info

curren、内核栈、current_thread_info内核栈为什么要有内核栈?内核栈用于存放一些内核的栈信息,例如临时变量,函数调用信息。内核栈存放在哪里?task_struct->stack内核栈和thread_info一起存放在一个联合体thread_union中,thread_union的大小为THREAD_SIZE。thread_info线程描述符,和体系结构有关的信息。/* * low level task data that entry.S needs immed

2020-06-12 21:38:01 454

原创 gdb分析coredump

一、内核配置coredump输出目录配置coredump的输出格式以及路径:echo “/mnt/usb/coredump/core.%e.%p” > /proc/sys/kernel/core_pattern二、编译带调试信息的二进制一般而言,发布的二进制文件不带调试信息,需要修改Makefile增加 -g 选项。三、gdb分析1. 启动gdbarm-linux-gnueab...

2020-04-27 22:07:50 1500

原创 Ubuntu下安装qemu gdb调试linux Arm64内核

###安装qemu#####ddd

2019-11-19 23:15:10 3268 2

原创 Linux中的page_fault

参考资料:Virtual Memory in the IA-64 Linux Kerneldo_page_fault函数处理流程在chinaunix中的讨论vm_area_struct分析mm_struct和vm_area_structmm_struct:mm_struct是task_struct的一个成员变量,是对整个进程用户空间的描述。mm_struct收集一系列vm_area_...

2019-06-04 21:45:44 4766

原创 函数指针与指针函数

区分二者的唯一方法就是,看函数名先和谁结合,先和*结合就表示是指针,先和()结合就表示是函数。注意:()的优先级大于*的优先级一、定义函数指针,即指向函数的指针。首先,它是一个指针,其次,该指针指向一个函数。其一般定义如下所示:类型名 (*指针名称)(函数参数列表);int (*pfunc)(int, int);由于有了括号,pfunc与*先结合,因此pfunc是一个指针。(()优先级大于*)接着

2017-01-02 20:44:15 337

原创 《C和指针》中关于EOF的问题

问题来源:《C和指针》P70在这页中,有这样一段代码,它在某些情况下会爆错误,而这些错误也是我之前没有关注过的。char ch;...while( (ch=getchar()) != EOF)...ch是char类型,占8bit,而getchar()返回int,为32bit。因此,将getchar()取得的值强转为char类型必然会截去一部分,当把这个值与EOF做比较时,系统又会将8bit扩充

2016-12-12 23:25:39 431

原创 Win10安装Ubuntu16.04的常见问题

参考教程由于教程已经在上面给出了,这里我就不说详细步骤了,只说我在安装过程中遇到的几个问题。1. 刚进入Ubuntu后安装时卡在logo处刚从U盘启动Ubuntu安装,只看到了logo,然后就卡住了。 解决方案:在刚出画面,还没显示logo的时候迅速按左键或右键。这个时候,会让你选择语言,选择语言后就有了安装选项了。2. 选择直接安装卡在Ubuntu logo,选择先试用再安装显示can not

2016-11-19 00:39:29 2297

原创 AndroidStudio导入HelloCharts的Module

毕业设计要求做一个项目,在Github上找到了与之类似的源代码,但在AndroidStudio导入Module时遇到了很多问题,现在将解决方法分享出来。导入Module大致分以下三个步骤:一、导入Module首先点击File-New-Import Module 二、修改Module下的build.gradle文件这一步其实非常简单,由于新建项目时AndroidStudio已经自己在app目录下写好

2016-04-14 16:27:51 3527 2

原创 JDBC中将一个变量加入SQL语句执行

很常见的一个问题。 使用JDBC编程时,我们有时需要输入的数据来更改数据库,这个数据是由用户输入的而提前不知情的。 这是,我们就应该使用PreparedStatement来进行动态SQL。 例如,我们通过sno删除学生表中的信息,把学号以形参传递给方法deleteOneStudent,实参由前台界面或者主类给出,代码如下:pstmt = con.prepareStatement("delete

2015-07-13 20:01:23 4394 2

原创 安装VisiBroker出现This Application has Unexpectedly Quit

当我今天安装VisiBroker8.5时出现了一个,程序异常结束掉了,显示”This Application has Unexpectedly Quit: Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)”. 我在网上

2015-07-01 00:41:12 15854 1

原创 动态规划求解矩阵链乘法

矩阵链乘法是一个求解矩阵链相乘的问题,给定一个n个矩阵的序列(A1,A2,A3,…,An),我们希望计算它们的乘积。对于计算机而言,不管这个矩阵相乘的顺序如何,它们的结果都是相同的,但是计算它们所需要的时间却不相同。例如,三个矩阵为

2015-05-05 23:05:01 1253

原创 游戏人物跟随鼠标移动的实现

在游戏编程中,会遇到一个简单的问题,那就是鼠标移动人物也向鼠标移动的方向移动。其实,它非常简单。        在程序中,我们设置两个不同的点point1、point2。point1保存人物贴图的坐标,而point2保存鼠标的坐标。设定每次贴图时,贴图坐标point1都会以10个或其它单位缓缓向point2靠拢(即x、y坐标进行相应的加减),直至坐标相同。这样在每帧的绘画中,就实现了移动的动画

2015-03-09 21:28:06 4073 1

原创 同步和异步的区别

同步:发送一个请求,等待返回,然后再发送下一个请求。        异步:发送一个请求,不用等待返回,随时可以再发下一个请求。          同步可以避免死锁、读脏数据的发送,一般共享某一资源的时候使用。如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经修改过的内容,出现错误,而同步就会按照顺序来修改。         异步可以提高效率,异步可以同时处理多

2015-03-09 21:27:58 1110

原创 设置背景图循环滚动

在编写程序时,部分程序的背景是静止的,而部分程序则要求背景是运动的(类似天天酷跑)。如果需要让背景图运动,我们就需要图片循环滚动技术。         其实这个原理非常简单。假设背景图是从左往右运动的,那么只需要让背景图从左往右一点一点显示出来即可,这样就达到了背景图运动的目的。         那么如何实现让背景图一点一点显示出来呢,只需要设置一个变量OFFSET即可,这个变量从0到WI

2015-03-09 21:26:32 3778

原创 设定鼠标限定在窗口内部

由于设定鼠标移动区域的函数需要屏幕坐标,因此我们先取得窗口坐标,然后将窗口坐标转化为屏幕坐标,最后设定范围即可。        设定鼠标光标限制在窗口内容区域的基本代码为:RECT rect;POINT lt, rb;GetClientRect(hwnd, &rect); //取得窗口内部矩形(窗口坐标)//将矩形左上角存入lt中lt.x = rect.left;lt.y =

2015-03-08 17:17:17 3145

原创 逻辑或与按位或的区别

逻辑或是||,按位或是|。         逻辑或的结果只表示逻辑上的真假,只有0和1两个值。         按位或是将数字换成二进制后,每位每位的进行或运算,最终的结果不止是0和1。例如:3|5=7(011|101=111)

2015-03-08 17:11:41 5393

原创 利用空位图对象实现连贯动画显示

实现一个人物从左走到右的动画效果,我发现了一些问题。        还是使用三缓冲机制,首先我定义了三个句柄:g_hdc、g_mdc、g_bufdc。先在g_bufdc中分别载入每帧的人物图和背景图,然后将g_bufdc中人物图和背景图复制到g_mdc中,最后将最终的每帧图放入g_hdc中。但是,这时出现了一个问题。那就是载入下一帧的位图时,上一帧的图像还在那里。        最后,我重

2015-03-08 17:04:55 704

原创 利用swprintf_s快速加载对象

当一个程序中有多个名字类似资源时,比如11.bmp,22.bmp,33.bmp…如果直接一个一个的装载到位图句柄中比较麻烦,这时我们就可以利用swprintf_s将文件名写入字符串中,然后直接装载字符串对应的文件即可。        举个例子:        在程序中,有1.bmp,2.bmp,...,10.bmp,我们新建一个字符串FILENAME装载位图的名字,然后直接利用FILENA

2015-03-08 16:13:58 1197

原创 对窗口过程函数WndProc()的一点理解

函数原型:         LRESULTCALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)         窗口过程函数决定了当一个窗口从外界接收到不同的信息时,所采取的不同反应,即主要用于处理发送给窗口的信息。hwnd是要处理窗口的句柄;message是消息ID,代表了不同的消息类型;wPara

2015-03-03 20:45:20 17681

原创 保持代码优美的一个小方法

在每个函数前面加上一定字数的描述,这样代码既美观又便于查阅。例如:       //-----------------------------------【WndProc( )函数】--------------------------------------       //      描述:窗口过程函数WndProc,对窗口消息进行处理           //---------

2015-03-03 20:44:06 459

原创 Windows窗口程序闪退问题

今天进行Windows编程中遇到了一个问题,程序执行后直接闪退。在仔细查看好久后,发现是WinMain函数中消息循环过程出现了错误。本来应该是while却写成了if:        While( msg.message != WM_QUIT)       {............       }       结果却写成了       If(msg.message != W

2015-03-03 20:38:55 2980

原创 Windows窗口程序点叉后程序仍在进程中

今天在Windows编程中又遇到了之前曾经遇到过的问题。当点叉关闭一个程序时,虽然它在桌面上消失了但仍在进程中。就像这样:正常了。最后,我发现问题出在WinMain()函数中的窗口消息处理过程上面。PeekMessage()函数在调用时参数出现了错误,第二个参数本应是0,但我写成了hwnd。当把hwnd改成0后程序就一切错误调用:if( PeekMessage( &

2015-03-03 20:04:05 1056

原创 第四章 Windows游戏图形基础

关键字:HPEN、HBRUSH、HFONT、HBITMAP        在本章中,主要讲述了一些GDI的基本操作。其中有:DC的基本概念、GDI基本绘图(线条、矩形)、文字输出、位图绘制。除了GDI的基本操作之外,还讲了一些随机数的有关概念和函数。        GDI,即Graphics Device Interface,它是Windows图形显示程序与物理设备(显示屏)之间的桥梁,在

2015-01-03 14:12:15 476

原创 第三章 Windows编程基础

在这一章中,主要讲述了Windows下创建窗口的基本步骤和其中的有关问题。在Windows的消息处理机制中,窗口过程函数被调用的过程如下所示:第一步:在进行窗口类的设计时,将窗口过程函数的地址赋给lpfnWndProc成员变量。第二步:调用RegisterClass(&wndClass)注册窗口类,那么系统就有了我们所编写的窗口过程函数的地址。第三步:当应用程序接受到某一窗口的消息

2015-01-02 14:08:33 508

转载 BeginPaint和GetDC有什么区别?

这是个windows编程问题。 第一种情况显示出来的字很正常。 case WM_PAINT:            gdc = BeginPaint (hwnd, &ps);            TextOut (gdc, 0, 0, s, strlen (s));            EndPaint (hwnd, &ps); break; 第二种情况显示的字不停

2014-12-30 13:00:38 435

原创 解决VS2013 添加VASSISTX后中文输入为问号

解决方法:删除所有输入法,除了你要用的,比如搜狗。  删除所有语言选项。

2014-11-25 18:56:03 1827 4

转载 C++运算符优先级

http://blog.csdn.net/nicky_zs/article/details/4053146

2014-07-10 14:55:44 354

转载 C++中友元详解

http://blog.chinaunix.net/uid-790245-id-2037327.html

2014-06-12 10:34:50 467

原创 在构造函数中从键盘输入值

方法一:利用istream

2014-06-06 10:04:29 3549 1

转载 C++拷贝构造函数详解

http://blog.csdn.net/lwbeyond/article/details/6202256

2014-06-06 08:54:18 445

原创 结构体指针作为函数参数传递却无法传值的有关问题

今天做C++作业遇到一个问题,需要

2014-05-30 14:19:11 4156 1

转载 typedef的用法总结

http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很

2014-05-29 13:04:22 544

转载 C++未确定参数数目的函数

http://www.cnblogs.com/jerrychenfly/archive/2010/10/22/1858232.htmlhttp://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html

2014-05-29 12:44:49 741

原创 C++桌面计算器

思路:输入一个字符串,首先找到等号将其分为左右两部分,左部分为变量,右

2014-05-22 16:24:25 2143

转载 void及void指针含义的深刻解析

地址:http://blog.csdn.net/geekcome/article/details/6249151

2014-05-18 14:52:41 474

转载 C++ 引用详解

http://my.oschina.net/alphajay/blog/5251c++比起c来除了多了类类型外还多出一种类型:引用。这个东西变量不象变量,指针不象指针,我以前对它不太懂,看程序时碰到引用都稀里糊涂蒙过去。最近把引用好好地揣摩了一番,小有收获,特公之于社区,让初学者们共享。          引用指的是对一个对象的引用。那么什么是对象?在c++中狭义的对象指的是用

2014-05-18 14:34:57 401

原创 C++中求各种数据类型最大最小值问题

今天做C++作业遇到求各种数据类型

2014-05-13 17:52:28 2441

空空如也

空空如也

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

TA关注的人

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