<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[apanying的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/apanying</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; apanying]]></copyright><item><title><![CDATA[Ubuntu 16.04 菜单栏 换位置 挪到左边 挪到下边]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/112471495</link><guid>https://blog.youkuaiyun.com/apanying/article/details/112471495</guid><author>apanying</author><pubDate>Mon, 11 Jan 2021 15:33:17 +0800</pubDate><description><![CDATA[Ubuntu 16.04 菜单栏 换位置 挪到左边 挪到下边
Ubuntu菜单栏的位置可以调 到左侧 或者底部
调整到底部
$ gsettings set com.canonical.Unity.Launcher launcher-position Bottom
调整到左侧
$ gsettings set com.canonical.Unity.Launcher launcher-position Left

...]]></description><category></category></item><item><title><![CDATA[c语言 某位清零 获取某位值]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/109244865</link><guid>https://blog.youkuaiyun.com/apanying/article/details/109244865</guid><author>apanying</author><pubDate>Fri, 23 Oct 2020 16:29:08 +0800</pubDate><description><![CDATA[将某位/几位清零

#include &lt;stdio.h&gt;

int main()
{
	int num=0; //需要清零的数
	int bit; //需要清零的位数
	int zero_sit;//清零的位置
	printf("input num\n");
	printf("input bit\n");
	printf("input zero_sit\n");
	scanf("%x",&amp;num);
	scanf("%x",&amp;bit);
	scanf("%x",&amp;zer.]]></description><category></category></item><item><title><![CDATA[undefined reference to]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/108024722</link><guid>https://blog.youkuaiyun.com/apanying/article/details/108024722</guid><author>apanying</author><pubDate>Sat, 15 Aug 2020 16:37:03 +0800</pubDate><description><![CDATA[最近在Linux下编程发现一个诡异的现象，就是在链接一个静态库的时候总是报错，类似下面这样的错误：
(.text+0x13): undefined reference to `func’
关于undefined reference这样的问题，大家其实经常会遇到，在此，我以详细地示例给出常见错误的各种原因以及解决方法，希望对初学者有所帮助。


链接时缺失了相关目标文件（.o）
测试代码如下：
然后编译。


gcc -c test.c
gcc –c main.c
得到两个 .o 文件，一个是 main.o，]]></description><category></category></item><item><title><![CDATA[[Linux] vim的高亮查找操作 reference :  http://blog.chinaunix.net/uid-20732478-id-763411.html     使用了VIM这么久，]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/107816991</link><guid>https://blog.youkuaiyun.com/apanying/article/details/107816991</guid><author>apanying</author><pubDate>Wed, 05 Aug 2020 15:46:47 +0800</pubDate><description><![CDATA[使用了VIM这么久，却一直无法牢记一些基本的操作指令。今天查找一个关键字时，想不起来怎么查找“下一个”，于是google之并解决，顺便把有用的都贴过来罢。
查找指令：
/xxx 往下查找
?xxx 往上
n    下一个
:set hls 打开高亮
:set nohls 关闭高亮
下面是查找替换，虽然我至今没使用过这一功能 － －
因为网上太多了，所以转来也不知道原创是谁
1，简单替换表达式
替换命令可以在全文中用一个单词替换另一个单词：
:%s/four/4/g
“%” 范围前缀表示在所有行中执行替换。最]]></description><category></category></item><item><title><![CDATA[pthread_create()函数参数详解和传参的使用]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/107512980</link><guid>https://blog.youkuaiyun.com/apanying/article/details/107512980</guid><author>apanying</author><pubDate>Wed, 22 Jul 2020 20:04:42 +0800</pubDate><description><![CDATA[题外话：

用的vscode编译的程序。发现一个问题，就是编译的时候提示没有gcc，但是应该是安装了的。打开命令端，输入gcc -v，提示没有gcc。
因为安装了qt。默认的就有gcc，所以就打开qt的安装路径下C:\Qt\Qt5.12.4\Tools\mingw730_64\bin，路径下文件如下图所示

然后直接把该路径添加到环境变量，就可以使用gcc 和g++了
贼有意思，gcc也能编译，g++也能编译。
在linux下通过gcc编译c程序，g++编译c++程序，另外就是也没有加-lpthread连接]]></description><category></category></item><item><title><![CDATA[VMware  物理内存不足，无法使用配置的设置开启虚拟机]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106669418</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106669418</guid><author>apanying</author><pubDate>Wed, 10 Jun 2020 16:28:41 +0800</pubDate><description><![CDATA[VMware  物理内存不足，无法使用配置的设置开启虚拟机如下图所示：
解决方法：
修改下列路径中的文件
C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation 或 C:\ProgramData\VMware\VMware Workstation 路径下的 config.ini，把 “prefvmx.useRecommendedLockedMemSize = ”设为"TRUE" “prefvmx.minVm]]></description><category></category></item><item><title><![CDATA[Ubuntu ftp 服务器配置]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106445342</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106445342</guid><author>apanying</author><pubDate>Sat, 30 May 2020 18:53:49 +0800</pubDate><description><![CDATA[一、安装
如果是ubuntu环境下的话，安装是很简单的，只需输入如下命令:
安装
sudo apt-get install vsftpd
安装完成后可以察看下服务状态（其实安装完成了就会提示已经在跑了）
sudo service vsftpd status
二、配置文件
其实我用到的文件只有三个
+　　1. /etc/vsftp.conf（主配置文件）
+　　2. /etc/vsftp.chroot_list（可访问用户列表，这个在我这里貌似不是已有的，我是手建的，这个察看上面那个配置文件就会发现，配置文件]]></description><category></category></item><item><title><![CDATA[socket can编程]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106355981</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106355981</guid><author>apanying</author><pubDate>Tue, 26 May 2020 14:42:52 +0800</pubDate><description><![CDATA[http://velep.com/archives/1181.html

]]></description><category></category></item><item><title><![CDATA[玩个多级指针]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106249951</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106249951</guid><author>apanying</author><pubDate>Thu, 21 May 2020 17:43:54 +0800</pubDate><description><![CDATA[定义：一个指向指针变量的指针变量，称为多级指针。
对于指向处理数据的指针变量称为一级指针变量，简称一级指针。而把指向一级指针变量的指针变量称为二级指针变量，简称二级指针。二级指针变量的说明形式：
&lt;存储类型&gt; &lt;数据类型&gt; ** &lt;指针名&gt;
总结：注意加粗的部分，指向指针变量！一定要是变量。如果指向的是数组名（也就是数组的首地址，会报警告，因为数组名是地址常量，后边有例子）。

#include &lt;stdio.h&gt;

int main(int argc, c.]]></description><category></category></item><item><title><![CDATA[c 函数值传递]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106236263</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106236263</guid><author>apanying</author><pubDate>Wed, 20 May 2020 15:41:44 +0800</pubDate><description><![CDATA[首先要清楚什么叫函数的形参和实参。
形参：任何函数实现的参数都是形参。
实参：调用函数时候，传入的参数是实参。
实参可以给形参传参，形参不能够给实参传参。
#include &lt;stdio.h&gt;

void exchange(int a,int b)
{
	int t;
	printf("&amp;a = %p,&amp;b = %p\n",&amp;a,&amp;b );	

	t = a;
	a = b;
	b = t;

	printf("a = %d,b = %d\n",a,b );	

]]></description><category></category></item><item><title><![CDATA[c语言 const关键字]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106229220</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106229220</guid><author>apanying</author><pubDate>Wed, 20 May 2020 10:20:35 +0800</pubDate><description><![CDATA[const修饰变量（非指针），使变量常量化，也就是使变量不能够被修改
eg：const int a = 10;  int const a=10;此时a只能是10，不能被改变了。如果没有用const修饰，a可以被赋值，比如a=20；
const修饰指针变量，会使指针变量常量化，但是要注意const的位置
1.const int *p 此时const修饰的是指针指向的内容，限制通过指针去改变指向的内容，但是内容本身可以修改，只是不能通过指针修改。指针的指向也是可以改变。eg：

#include &lt;st.]]></description><category></category></item><item><title><![CDATA[字符串处理函数]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106146171</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106146171</guid><author>apanying</author><pubDate>Fri, 15 May 2020 17:32:42 +0800</pubDate><description><![CDATA[strcpy函数：
首先看一个字符串拷贝函数的用法：
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

int main(int argc, char const *argv[])
{

	char p[] = "hello";
	char *a = p;
	char *q = "world";

	strcpy(p,q);


	printf("%s\n",p );
		return 0;
}


打印结果就是world。注意到两点，1.目的地址是一个]]></description><category></category></item><item><title><![CDATA[一个冒泡排序引发的 ‘思考’]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/106144173</link><guid>https://blog.youkuaiyun.com/apanying/article/details/106144173</guid><author>apanying</author><pubDate>Fri, 15 May 2020 16:36:45 +0800</pubDate><description><![CDATA[一个冒泡排序引发的 ‘思考’
首先看一个冒泡排序的代码，如下：
#include &lt;stdio.h&gt;

#if 1
void maopao(int a[]) //此处形参等同于int *a
{	
printf("%ld\n",sizeof(a)/sizeof(int));//调试打印
	for(i=0;i&lt;n;i++) //对比趟数
	{
		for(j=i;j&lt;n;j++) //对比次数，从小到大排列
		{
			if(a[j] &gt; a[j+1])
			{	temp = ]]></description><category></category></item><item><title><![CDATA[linux下类everthing搜索工具]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/105294777</link><guid>https://blog.youkuaiyun.com/apanying/article/details/105294777</guid><author>apanying</author><pubDate>Fri, 03 Apr 2020 15:48:54 +0800</pubDate><description><![CDATA[类似Windows上的everything,在Windows上是谁用谁知道.
安装链接:https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-daily?field.series_filter=bionic
官方安装没有看到安装名称是什么,试了一圈都不行,后来终于找到了.
步骤:
添加PPA
sudo add-apt...]]></description><category></category></item><item><title><![CDATA[c代码规范]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/105147717</link><guid>https://blog.youkuaiyun.com/apanying/article/details/105147717</guid><author>apanying</author><pubDate>Fri, 27 Mar 2020 18:39:03 +0800</pubDate><description><![CDATA[开头以/**/说明，中将两个*可以将说明对齐


宏定义和函数声明对其。宏定义的时候最好用一个空格加两个tab键，因为不同的宏名字长度不一样，会造成后边的变量不对齐。函数声明的时候，要一个tab键。因为void和int长度不一样，和long，unsigned int长度更不一样


定义变量的时候要对齐。


函数名不要顶头写，让注释和#if 0 #endif调试的顶头写。如果有多个if en...]]></description><category></category></item><item><title><![CDATA[匈牙利命名规则]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/103632771</link><guid>https://blog.youkuaiyun.com/apanying/article/details/103632771</guid><author>apanying</author><pubDate>Fri, 20 Dec 2019 16:09:16 +0800</pubDate><description><![CDATA[匈牙利命名规则
匈牙利命名法是一种编程时的命名规范。基本原则是：变量名=属性+类型+对象描述（对象描述的时候第一个字母要大写），其中每一对象的名称都要求有明确含义，可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
eg：
class xx
{
public:

private:
	string m_strName; //m_表示c++类成员，str表示...]]></description><category></category></item><item><title><![CDATA[c语言日志功能实现]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/96429900</link><guid>https://blog.youkuaiyun.com/apanying/article/details/96429900</guid><author>apanying</author><pubDate>Thu, 18 Jul 2019 14:14:55 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;time.h&gt;
#ifdef WIN32
#include &lt;windows.h&gt;
#else
#include &lt;unistd.h&gt;		// linux下头文件
#endif
 
...]]></description><category></category></item><item><title><![CDATA[Linux下安装gcc]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/89322827</link><guid>https://blog.youkuaiyun.com/apanying/article/details/89322827</guid><author>apanying</author><pubDate>Mon, 15 Apr 2019 22:44:18 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/Hxinguan/p/5016305.html

]]></description><category></category></item><item><title><![CDATA[虚拟机内文件删除 实际空间不变]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/88920203</link><guid>https://blog.youkuaiyun.com/apanying/article/details/88920203</guid><author>apanying</author><pubDate>Sat, 30 Mar 2019 22:14:17 +0800</pubDate><description><![CDATA[这个方法只针对VMware虚拟机中的xp等系统有效，linux（Ubuntu）并不起作用

]]></description><category></category></item><item><title><![CDATA[linux 根文件系统的制作过程]]></title><link>https://blog.youkuaiyun.com/apanying/article/details/87866002</link><guid>https://blog.youkuaiyun.com/apanying/article/details/87866002</guid><author>apanying</author><pubDate>Thu, 21 Feb 2019 18:11:22 +0800</pubDate><description><![CDATA[文件系统制作步骤
1，配置busybox
1）下载源码
2）进入busybox，make menuconfig 选配
2，制作根文件基本目录（make进行编译，Make install 把它编译成工程文件，方便我们使用将所有相关文件都放到_install目录下）
3，创建其他需要的目录（mkdir dev etc mnt proc var tmp sys root）
4，库目录设置（拷贝交叉编译工...]]></description><category></category></item></channel></rss>