自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (1)
  • 收藏
  • 关注

原创 操作系统_再识(序言)

从来都没有写过博客,想写一些博客记录一些学习经历。工作三年了,再次选择未来工作时,还是有一些纠结。我大学是学计算机科学与技术出身的。大学期间,觉得对计算机有所了解。大学时学的课程:大一:C语言,计算机一些基础课程。大二:数据结构,汇编语言,数电/模电分析,算法导论。大三:编译原理,计算机组成原理,微机接口原理,数据库原理,(ASP.NET,java)。大四:

2013-05-27 22:39:37 666 1

转载 Centos系统中忘了root密码怎么办

Centos系统中忘了root密码怎么办现在账号密码太多了。一不小心就忘了某些密码,比如Centos的root密码,我就记录下怎么解决的1. 首先,打开centos7,在选择进入系统的界面按“e”键进入编辑页面2.然后按向下键,找到以“Linux16”开头的行,在该行的最后面追加 “init=/bin/sh”接下来按“ctrl+X”组合键进入单用户模式3. 依次输入命令mount -o remount,rw /passwdtouch /.au...

2021-11-17 20:35:37 1284

转载 pyCharm_破解

本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等因公司的需求,需要做一个爬取最近上映的电影、列车号、航班号、机场、车站等信息,所以需要我做一个爬虫项目,当然java也可以做爬虫,但是还是没有python这样方便,所以也开始学习Python啦!!!欲善其事,必先利其器。这里我为大家提供了三种激活方式:授权服务器激活:适合小白,一步到位,但服务器容易被...

2018-06-21 09:14:06 796

转载 Python 3.X 调用多线程C模块,并在C模块中回调python函数的示例

由于最近在做一个C++面向Python的API封装项目,因此需要用到C扩展Python的相关知识。在此进行简要的总结。  此篇示例分为三部分。第一部分展示了如何用C在Windows中进行多线程编程;第二部分将第一部分的示例进行扩展,展示了如何在python中调用多线程的C模块;第三部分扩展了第二部分,增加了在C模块的线程中回调python的演示。  本文所用的环境为:64位Win7 + p

2017-07-27 17:25:21 1001

转载 linux 下动态链接实现原理

符号重定位讲动态链接之前,得先说说符号重定位。c/c++ 程序的编译是以文件为单位进行的,因此每个 c/cpp 文件也叫作一个编译单元(translation unit), 源文件先是被编译成一个个目标文件, 再由链接器把这些目标文件组合成一个可执行文件或库,链接的过程,其核心工作是解决模块间各种符号(变量,函数)相互引用的问题,对符号的引用本质是对其在内存中具体地址的引用,因此确定符号地

2017-07-11 15:23:37 424

转载 linux动态链接库全局变量共享问题&DLL共享数据段

Linux写时拷贝技术(copy-on-write)进程间是相互独立的,其实完全可以看成A、B两个进程各自有一份单独的liba.so和libb.so,相应的动态库的代码段和数据段都是各个进程各自有一份的。然后在这个基础上,由于代码段是不会被修改的,所以操作系统可以采用copy on write的优化技术,让两个进程共享同一份物理内存。这是属于在不改变系统行为的基础上,为了节省内存,

2017-07-11 15:14:06 1653

转载 [转]Linux下共享库(SO)有关的几个环境变量

[转]Linux下共享库(SO)有关的几个环境变量Linux支持共享库已经有悠久的历史了,不再是什么新概念了。大家都知道如何编译、连接以及动态加载(dlopen/dlsym/dlclose) 共享库。但是,可能很多人,甚至包括一些高手,对共享库相关的一些环境变量认识模糊。当然,不知道这些环境变量,也可以用共享库,但是,若知道它们,可能就会用得更好。下面介绍一些常用的环境变量,希望对家有所帮助:

2017-07-11 14:18:20 492

转载 nginx平台初探(100%)

nginx平台初探(100%)初探nginx架构(100%)众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且

2017-05-08 20:11:18 20140

转载 程序员必读书单

程序员必读书单作者:Lucida微博:@peng_gong豆瓣:@figure9原文链接:http://lucida.me/blog/developer-reading-list/关于本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读。旨在成为最好最全面的程序员必读书单。前言Reading

2017-05-08 20:10:04 918

转载 Linux系统启动流程简析

在日常生活中,我们开机的操作一般为按下电源键,等待系统自己起来就好了。这开机的过程看似简单,但其中却包含着十分复杂的各种小过程。以Linux为例,其流程为下图所示: 一、POST首先,先介绍下BIOS和POST的概念。BIOS:Basic Input Output System,即基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片上的程序,

2017-02-03 14:05:39 396

转载 从头构建自己的Linux系统

在博文“Linux系统启动过程分析”中我们了解了linux系统的启动流程,今天我们就来手动一步一步从头来构建一个最小的linux系统,然后用模拟器将其加载起来。常见的模拟器有Qemu、Bochs、VMWare、VPC、Virtual Box和Xen等,以及特殊的模拟UML(User-Mode-Linux),这里我们选择用VMWare。我们制作的Linux系统有shell功能,支持Web S

2017-02-03 13:28:14 5258

转载 [原创]Linux系统启动过程分析

经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。       本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析。由于才疏学浅,知识所限,有些地方分析不

2017-02-03 13:27:38 269

转载 mount -o loop 回环设备相关

先让我们来了解下:回环设备(loop-back devices) 回环设备( 'loopback device')允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。(当然,disk-image 必须存在于一个实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大

2017-02-03 13:27:04 1216

转载 GRUB入门教程

http://wiki.ubuntu.org.cn/GRUB%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8BGRUB入门教程原文出处:未知原文作者:未知授权许可:创作共用协议翻译人员:未知编辑人员:rApJtR校对人员:无适用版本:文章状态:尚待完善备注:从论坛的翻译区整理过来,帖子作者millen

2017-02-03 13:26:12 330

转载 GRUB简单入门教程

一、什么是多重操作系统引导管理器,什么是GRUB; 1、什么是多重操作系统引导管理器及工作原理;系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;Briefly, boot loader is the fir

2017-02-03 13:25:22 9661

转载 GRUB启动分析之stage1.5

前言上一篇博文介绍了GRUB源码的stage1.S会汇编成一段446字节的sourcecode,stage1,grub会将这个stage1放入MBR中。我们通过分析,知道这段代码的唯一作用就是将第二个扇区(0柱面 0 磁道 2扇区)处的512字节加载到内存中去。一个问题就来了这个512个字节是从何而来,这512个字节又意欲何为?江湖上风传已久的stage1.5是什么东东,stage

2017-02-03 13:24:36 1370

转载 GRUB启动分析之stage1

引言玩Linux的人,肯定会听说过Grub这个神奇的东西,就是开机启动时候下拉一个菜单让我们选操作系统的那个东东。自己比较懒,一直没深入琢磨这个Grub的工作原理流程。最近工作遇到了Grub相关的问题,就花了一些时间学习了一下Grub。闲言少叙。我们首先看下Linux的启动过程流程图:这个流程图是大牛M. Tim Jones在Inside Linux b

2017-02-03 13:23:24 2737

转载 Git使用教程

Git使用教程 一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以

2017-01-25 14:11:41 222

转载 学习GitHub

为了在windows下使用Git,我们需要安装msysGit这个客户端工具,它可以让我们用CMD或者GUI的方式使用Git。下载地址1:https://git-for-windows.github.io/下载地址2:https://Git-scm.com/download/我使用的是下载地址2:安装过程还是很简单的:

2017-01-25 13:55:58 227

转载 select epoll 完成端口

select、poll、epoll之间的区别总结[整理]  select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/

2017-01-18 09:40:43 1072

转载 c++搜索引擎库

Apache Lucy 是一个全文搜索引擎库,使用 C 语言编写,主要面向一些动态语言,目前提供 Perl 语言的绑定。相当于是 C 语言版的 Lucene 。LucenePlusPlus (1)CLuceneCLucene是Lucene的一个C++端口,Lucene是一个基于java的高性能的全文搜索引擎。CLucene因为使用C++编写,所以

2016-12-19 14:19:58 2018

转载 C++ 著名类库整理

在 C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重 量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。1、C++各大有名库的

2016-12-19 14:17:25 473

转载 判断应用程序.exe及动态链接库.dll是32位还是64位

WINDOWS:我们需要VS中的dumpbin.exe这个可执行程序。dumpbin /headers  YOUR_FILE可以看到如下的文字:FILE HEADER VALUES            14C machine (x86)便证明你的程序是32位的,或者x64就是64位的。Linux:这个就简单的了,直接用file YO

2016-11-10 08:52:21 402

转载 三大国际主流项目管理体系

区别 PRINCE2®受控环境下的项目IPMP国际项目管理资质认证PMP项目管理专业人员颁证机构英国政府商务部(OGC)国际项目管理协会(IPMA)项目管理协会(PMI)官方标准英国、澳大利亚和联合国标准欧洲美国推广组织

2016-11-07 09:20:11 10960

转载 tcp/ip 原型及分析

转自http://blog.csdn.net/angle0615303/article/details/77172561、BSD TCP/IP协议栈     BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP 栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些

2016-10-21 17:09:03 1263

转载 浅谈 C++ 中的 new/delete 和 new[]/delete[]

在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…如果你对这些问题都有疑问的话,

2016-07-07 20:19:58 242

转载 erase的正确使用

方法一:[cpp] view plaincopystd::map mapTest;  bool TestVal(const std::string & val);    ......  std::map::iterator it = mapTest.begin();  while(it != mapTest.end

2016-07-07 08:43:14 3010

转载 socket 通信关于bind那点事

结论:1、采用TCP通信时,客户端不需要bind()他自己的IP和端口号,而服务器必须要bind()自己本机的IP和端口号;2、若采用UDP通信时(这里是有客户端和服务器之分才这么说的,若是指定特定端口的UDP对等通信则不一样了),客户端也可以不需要bind()他自己的IP和端口号,而服务器需要bind自己IP地址和端口号;原因:1、因为服务器是时时在监听有没有

2016-07-01 16:31:55 389

转载 linux定时器

http://wenku.baidu.com/link?url=yUXLD89yxA3vwyXKXOEiW0pbVchRM8Z_SFb3q2UJG7goXL_l8LK524HwhUeDFoimll-P0ftfljqH_G7egTCVqs8t-3KYnhNUB9FzULBXZbi[转]Linux定时器核主要需要两种类型的时间: 1. 在内核运行期间持续

2016-05-31 09:54:03 720

转载 完成端口(Completion Port)详解

完成端口(Completion Port)详解手把手叫你玩转网络编程系列之三   完成端口(Completion Port)详解                                                             ----- By PiggyXP(小猪)前 言        本系列里完成端口的代码在两年前就已经写好了,但是由于许久

2016-05-27 17:17:09 491

转载 IOCP模型与网络编程

IOCP模型与网络编程一。前言:        在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找一大堆的资料,为这个了解做准备,只是呢,有时还是想去找一本书去系统地学习一

2016-05-23 21:10:25 424

转载 C++ 容器及选用总结

C++ 容器及选用总结目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL====================

2016-05-12 19:09:39 251

转载 list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空emp

list头文件:#include using namespace std; list和vector的不同在于,vector采用的顺序存储,即vector中的元素像数组一样,一个紧挨着一个存放。所以vector可以进行随机存取。(通常情况下使用vector是最优的选择)。但是每当从vector中删除一个元素或向vector中插入一个元素时,代价都比较高。

2016-05-12 19:09:00 3417 1

转载 值得推荐的C/C++框架和库

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.c

2016-04-26 08:52:55 315

转载 linux常用头文件详解(转)

linux常用头文件详解(转) (2012-03-26 15:13:19)转载▼标签: 杂谈 分类: unix/linux环境高级编程首先说明几点:1 Linux内核所在目录为/usr/src/kernels/...2 Linux头文件所在目录为/usr/include/...3 找不见头文

2016-04-05 20:46:15 542

转载 500 OOPS:cannot change directory:/root 问题

安装完red hat enterprise linux 5后,ftp不能使用root用户,将/etc/vsftpd/ftpusers和/etc/vsftpd/user_list两个文件中的root注释掉,就是在root前加个#,再运行ftp结果报错500 OOPS:cannot change directory:/root到网上查了下,是selinux的配置问题,两种方法解决:

2016-04-05 11:39:04 812

转载 tftp,ftp服务搭建

linux搭建TFTP server及客户端 (2014-04-25 11:46:30) 分类: w~linux用yum -y install tftp安装客户端命令用yum -y install tftp-server安装TFPT服务器配置TFPT服务器配置文件/etc/xinetd.d/tftpserv

2016-04-05 11:38:30 1917

转载 C++类中各种不同类型成员根据是否static 、是否const类型的初始化方法不尽相同,写代码时经常搞乱,网上搜了一下资料,全部总结一下。一、例子 [cpp] view plaincopy ---

C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型)    常量和引用,必须通过参数列表进行初始化。    静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有stat

2016-03-18 15:25:42 488

转载 LINUX下动态库调用静态库的方法

LINUX下动态库调用静态库的方法有这样一种情形,在创建一个动态库的同时,可能会调用一个静态库,这个静态库可能是你自己写的,也可能是第三方的。比如有下面五个文件,生成一个静态库,一个动态库,一个执行文件://///// static.hvoid static_print();///////static.cpp#include #include "st

2016-03-18 14:04:55 6793

转载 aix中使用xlc编译生成动态链接库(shared object)(.so)文件的方法

今天写一个ppt的时候,忽然发现不会用xlc编译成出.so文件,于是baidu,未果。后cc看了一些命令的选项后,查到了编译的选项 。假设我有hellofirst.c和hellosecond.c两个.c文件使用命令cc-qmkshrobj -o libhello.so hellofirst.c hellosecond.c即可生成动态链接库libhello.soaix

2016-03-18 14:03:14 7761

Linux C编程一站式学习

Linux C/C++/系统编程 一站式学习

2013-05-30

空空如也

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

TA关注的人

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