<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[J_H_C的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/J_H_C</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; J_H_C]]></copyright><item><title><![CDATA[C语言中void*和C++中void*的一个区别]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/98987528</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/98987528</guid><author>J_H_C</author><pubDate>Fri, 09 Aug 2019 20:34:05 +0800</pubDate><description><![CDATA[1、在C语言中，类型检查不是很严格，因此可以将void*赋值给 type *。
//.c文件中
	int a = 0;
	int *ptr = &amp;a;
	void *ptr1 = ptr;
	int *ptr2 = ptr1;//允许将void*类型赋值给int*，不会报错

2、在C++中类型检查比较严格，因此不允许将void*赋值给type *。
//.cpp文件中
	int a = ...]]></description><category></category></item><item><title><![CDATA[Linux下动态链接库文件的realname、soname和linkname]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/98375371</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/98375371</guid><author>J_H_C</author><pubDate>Sat, 03 Aug 2019 21:17:51 +0800</pubDate><description><![CDATA[1、为什么要使用这种规则？
在windows平台下存在dll hell.问题，即由于dll升级之后程序无法使用升级后的dll从而导致程无法运行，也就是说动态库的新版本不能兼容旧版本。而在linux下也存在着类似的问题，为了解决这个问题，引入了这种机制。遵循这种机制制作动态库，就可以解决这种问题。但是这种规则只是一种约定，并非强制的。
这种机制是通过文件名来控制动态库的版本，设计了3类命名方式，来实...]]></description><category></category></item><item><title><![CDATA[Qt中编码的一些说明]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/93882284</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/93882284</guid><author>J_H_C</author><pubDate>Thu, 27 Jun 2019 16:57:00 +0800</pubDate><description><![CDATA[1、源码字符集和执行字符集


源码字符集(the source character set):源码文件时使用何种编码格式保存的。
执行字符集(the execution character)：可执行程序内保存的是何种编码(程序执行时内存中字符串编码)

对于GCC编译器来说，可以使用如下命令参数设定。如果没有设定，默认都是UTF-8。


-finput-charset=charset     ...]]></description><category></category></item><item><title><![CDATA[编码方式的一些说明]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/93867885</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/93867885</guid><author>J_H_C</author><pubDate>Thu, 27 Jun 2019 14:04:41 +0800</pubDate><description><![CDATA[一、几种编码方式说明

1、ISO8859-1

    是国际标准化组织内ISO/IEC8859的第一个8位字符集。它以ASCII为基础，在空置的0xA0-0xFF的范围内，加入96个字母及符号，藉以供使用附加符号的拉丁字母语言使用。属于单字节编码，应用于英文。

2、ASCII

  单字节编码，只用了7位，最高位为0，能表示128个字符，主要用于英文。

3、Unicode

...]]></description><category></category></item><item><title><![CDATA[ORACLE_SID、实例名和数据库名的区别及查看方法]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/91415972</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/91415972</guid><author>J_H_C</author><pubDate>Tue, 11 Jun 2019 11:11:07 +0800</pubDate><description><![CDATA[1、ORACLE_SID、实例名(SID)和数据库名的区别

操作系统环境变量（ORACLE_SID）：instance_name（“数据库实例名”）是Oracle的数据库参数，而oracle_sid则是操作系统的环境变量，用户和操作系统交互，也就是说要得到实例名，必须使用sid。在数据库安装结束时 ，oracle_sid已经是一个确定的字符串了，其值必须与数据库实例名相同。

数据库实例名（IN...]]></description><category></category></item><item><title><![CDATA[qt中qmake的详解]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/91387705</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/91387705</guid><author>J_H_C</author><pubDate>Mon, 10 Jun 2019 17:40:37 +0800</pubDate><description><![CDATA[转载自https://blog.youkuaiyun.com/lvdepeng123/article/details/79007988

1.首先，感性的认识是，qmake可以利用源文件(包括头文件h，实现文件cpp，qt的ui文件等等)生成各种不同类型的工程，工程需要的Makefile文件，可执行的与不可执行的，这取决于所用的模板(包括app、lib、subdirs、vcapp、vclib)。

2.创建p...]]></description><category></category></item><item><title><![CDATA[STL deque详解]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88716842</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88716842</guid><author>J_H_C</author><pubDate>Thu, 21 Mar 2019 15:44:15 +0800</pubDate><description><![CDATA[转载自https://www.cnblogs.com/youxin/p/3286154.html

英文原文：http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container

绪言

这篇文章深入的角度认 识 STL deque 容器。这篇文章将讨论一些有关deque的情况，比如在何种情况下...]]></description><category></category></item><item><title><![CDATA[ini配置文件格式]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88640559</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88640559</guid><author>J_H_C</author><pubDate>Mon, 18 Mar 2019 15:53:18 +0800</pubDate><description><![CDATA[转自https://blog.youkuaiyun.com/thanklife/article/details/83860829

程序没有任何配置文件，那么它对外是全封闭的，一旦程序需要修改一些参数必须要修改程序代码本身并重新编译，为了让程序出厂后还能根据需要进行必要的配置，所以要用配置文件；配置文件有很多种，如INI配置文件，XML配置文件，cfg配置文件，还有就是可以使用系统注册表等。

...]]></description><category></category></item><item><title><![CDATA[C++中的类类型转换分析]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88544326</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88544326</guid><author>J_H_C</author><pubDate>Thu, 14 Mar 2019 00:37:50 +0800</pubDate><description><![CDATA[1、对下面两行代码具体过程分析。


string str1 = &quot;aaa&quot;;
string str2 = string(&quot;bbb&quot;);

str1的初始化过程：隐式调用string类的接受一个char *的有参构造函数构造一个临时对象，然后调用移动或拷贝构造函数将临时对象拷贝给str1，最后将临时对象析构。

str2的初始化过程：显式调用string类的接受一个char *的有参构造函数构造一...]]></description><category></category></item><item><title><![CDATA[shell脚本执行时出现错误：./myshell: /bin/bash^M: 解释器错误: 没有那个文件或目录]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88430105</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88430105</guid><author>J_H_C</author><pubDate>Tue, 12 Mar 2019 22:02:50 +0800</pubDate><description><![CDATA[如题，我在ubuntu上创建了一个shell脚本文件myshell，然后使用ntopad++连接ubuntu,编辑myshell，myshell内容如下：



myshell只是简单的在终端打印出hello。但是在ubuntu中执行myshell时出现错误如下：



使用vim打开myshell,然后在末行模式下输入set，得到结果如下：



需要注意的是：在windows环境下，回车换行保...]]></description><category></category></item><item><title><![CDATA[守护进程的一些说明]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88424150</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88424150</guid><author>J_H_C</author><pubDate>Tue, 12 Mar 2019 17:26:20 +0800</pubDate><description><![CDATA[1、实现一个守护进程的实例如下：


#include &quot;unp.h&quot;
#include &amp;lt;syslog.h&amp;gt;
#define MAXFD 64
extern int daemon_proc;
void daemon_init(const char * pname,int facility){
    int i;
    pid_t pid;
 
    if((pid = Fork...]]></description><category></category></item><item><title><![CDATA[守护进程]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88421414</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88421414</guid><author>J_H_C</author><pubDate>Tue, 12 Mar 2019 15:37:16 +0800</pubDate><description><![CDATA[转载自https://blog.youkuaiyun.com/leichelle/article/details/7464062

守护进程

   在linux或者unix操作系统中在系统的引导的时候会开启很多服务，这些服务就叫做守护进程。为了增加灵活性，root可以选择系统开启的模式，这些模式叫做运行级别，每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于...]]></description><category></category></item><item><title><![CDATA[编译的时候所使用的动态库中出现错误：未定义的引用]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88409413</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88409413</guid><author>J_H_C</author><pubDate>Mon, 11 Mar 2019 21:45:29 +0800</pubDate><description><![CDATA[1、使用makefile编译的时候，出现错误如下：



如上图所示，是在动态库libicdbapi.so中出现了未定义错误，既然是未定义错误，说明sqlprct、...、sqlnult这5个符号是外部符号，是在其他文件中定义的。可以使用nm命令查看libicdbapi.so动态库中的所有符号，如下：





上图并不是nm命令的所有结果，U表示该符号未定义。关于nm命令的使用方法可以参考htt...]]></description><category></category></item><item><title><![CDATA[链接时库文件没有放在命令行尾部所造成的问题]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88080146</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88080146</guid><author>J_H_C</author><pubDate>Sat, 02 Mar 2019 20:58:20 +0800</pubDate><description><![CDATA[1、今天在用gcc命令编译使用了动态链接库中的函数的源码时，出现了问题，如下：



需要说明下所有提示未定义的函数都是在动态库libitcastsocket.so和libmessagereal.so这两个动态库之中的，这些函数是在MngClient_Agree中使用的。上面三个.o文件是根据源文件编译好的，都没有问题。然后我使用以下命令想将三个.o的文件链接成可执行目标文件。


gcc -L/...]]></description><category></category></item><item><title><![CDATA[粘包现象以及如何处理粘包]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/88051186</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/88051186</guid><author>J_H_C</author><pubDate>Fri, 01 Mar 2019 10:59:13 +0800</pubDate><description><![CDATA[转载自http://www.cnblogs.com/zhangsanfeng/p/8891149.html

一 粘包现象

首先我们要知道什么是粘包：

我们首先要知道，粘包是对于TCP来说的，UDP是不存在粘包一说的，那么TCP在传输数据的过程的特点是什么呢：


1 会将数据量较小，且发送时间间隔较短的的数据一起打包发送，那么这里所讲的时间较短是相比较网络延迟来说的，
比如我们两次发送间隔...]]></description><category></category></item><item><title><![CDATA[程间通信的方式——信号、管道、消息队列、共享内存]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/87886011</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/87886011</guid><author>J_H_C</author><pubDate>Fri, 22 Feb 2019 21:37:58 +0800</pubDate><description><![CDATA[转自https://www.cnblogs.com/LUO77/p/5816326.html

多进程：

首先，先来讲一下fork之后，发生了什么事情。

由fork创建的新进程被称为子进程（child process）。该函数被调用一次，但返回两次。两次返回的区别是子进程的返回值是0，而父进程的返回值则是新进程（子进程）的进程 id。将子进程id返回给父进程的理由是：因为一个进程的子进程可以多...]]></description><category></category></item><item><title><![CDATA[ubuntu中文件编码格式查看与转换方法]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/87880889</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/87880889</guid><author>J_H_C</author><pubDate>Fri, 22 Feb 2019 16:37:40 +0800</pubDate><description><![CDATA[1、在ubuntu中查看文件编码格式可以使用 file 命令，如下：



对于文件编码方式，可以参考这篇文章https://blog.youkuaiyun.com/kdc18333608478/article/details/70214493。

2、ubuntu中文件转换可以使用 iconv 命令，该命令的格式如下：

   iconv -f  文件编码格式  -t 想要转换的编码格式  要编码的文件名 ...]]></description><category></category></item><item><title><![CDATA[使用git提交代码到github]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/86293524</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/86293524</guid><author>J_H_C</author><pubDate>Fri, 11 Jan 2019 13:15:44 +0800</pubDate><description><![CDATA[1、首先简单介绍下git的工作过程：在工作区编辑修改文件，然后添加到暂存区，最后提交到git本地仓库中。最后从本地仓库提交到远程仓库。



工作区其实就是电脑上的文件，比如需要将某个文件夹下的文件上传，这个文件夹就是工作区。

上图所示的git仓库是指本地仓库。git仓库分为本地仓库和远程仓库，本地仓库在你自己电脑上，远程仓库在github上。





2、提交到github的步骤

1）创建...]]></description><category></category></item><item><title><![CDATA[secureCRT配置背景颜色]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/86238878</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/86238878</guid><author>J_H_C</author><pubDate>Thu, 10 Jan 2019 16:38:09 +0800</pubDate><description><![CDATA[我用的时英文版的，网上的配置secureCRT颜色资料很多，这是我找到的比较好的两篇，可以参考下：

https://blog.youkuaiyun.com/u010031673/article/details/51130889#comments

https://blog.youkuaiyun.com/zq710727244/article/details/53909801

我基本是按照上面的文章配的，但是遇到了一些...]]></description><category></category></item><item><title><![CDATA[ubuntu上启动oracle数据库]]></title><link>https://blog.youkuaiyun.com/J_H_C/article/details/86159325</link><guid>https://blog.youkuaiyun.com/J_H_C/article/details/86159325</guid><author>J_H_C</author><pubDate>Wed, 09 Jan 2019 17:08:43 +0800</pubDate><description><![CDATA[1、我们知道在windows下要使用oracle数据库，至少需要开启两个服务： OracleServiceORCL和OracleOraDb11g_home1TNSListener。其中OracleServiceORCL是数据库实例，OracleOraDb11g_home1TNSListener是监听服务。在windows下开启这两个服务，可以直接进入服务找到这两个服务直接开启就行了。

对于win...]]></description><category></category></item></channel></rss>