自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (5)
  • 收藏
  • 关注

原创 C语言结构体struct的比较

两个struct结构体进行比较,首先不能直接比较。struct A a,b;a和b相比是错误的。其次不能进行内存比较。如下,程序运行的结果会如何?void DiffStructWithMultiVar(){ struct A a = {0}; struct B b = {0}; //illegal compare if (memcmp(&a, &b, sizeof(struct A)) == 0) printf("a = b .

2020-10-14 22:30:37 15076 2

原创 linux cJson库使用

1、cJSon库的好处在c语言里用到json格式的字符串,拼接起来就很麻烦,如果数据大,需要申请空间,如果中间要再插入一个子项,还需要麻烦的拷贝拼接。用cJSon库的好处就是:1、拼接、插入方便。临时增加,修改,直接用对于的接口来实现,快速,方便。2、空间申请问题由接口底层去实现。如果拼接很多,内存问题我们不用去过多考虑,只要知道怎么用就可以避免内存泄露问题。3、格式统一。书写方便,可能...

2019-12-04 21:31:48 1055

原创 error while loading shared libraries: librediscluster.so..: cannot open shared object file: No such

很纳闷明明设置了环境变量,路径也对,可就是报找不到库。等仔细去看的时候,发现, librediscluster.so.. 这个库多了两点。这种反人性操作真不知作者怎么想的。把librediscluster.so 复制成librediscluster.so.. 就可以了。但是编译的时候要librediscluster.so ,使用的时候就复制一份到环境变量指定的路径下。...

2019-12-03 09:07:52 460

原创 SecureCRT vi 编辑错乱问题

编辑配置文件的时候,修改某一个字符,但是总会被换成上下左右的其他字符。这个怎么解决?export LANG=C 设置环境变量,解决!C表示的是可移植操作系统接口(POSIX)通用的语言环境。用locale -a,可以看到有C这一项, echo $LANG 查看自己的电脑语言环境。如果不是 en_US.UTF-8,可以简单粗暴使用export LANG =C来设置。也可以设置成en_U...

2019-12-02 19:42:51 2104

原创 open 与 fopen一个文件并正常写入 删除文件不报错

open 与 fopen一个文件并正常写入, 删除文件不报错代码如下:open.c#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <errno.h>int main(){ in...

2019-11-11 23:50:23 779

原创 centos7 设置固定IP

ifconfig查看网卡名称,一般为ensXX如果没有ifconfig工具,那就安装一个yum install net-tools设置的文件在如下目录下,选择自己网络物理卡名称[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 ifdown-isdn ifdow...

2019-10-27 10:51:21 145

原创 yum 报错SyntaxError invalid syntax

yum 报错的原因是安装了高版本的Python,而yum默认的是低版本的。将/usr/bin/yum 和 /usr/libexec/urlgrabber-ext-down 两个文件的第一行#!/usr/bin/python改成 如下,保存退出就可以了#!/usr/bin/python2.7执行yum命令报错[root@localhost ~]# yum File "/usr/bin...

2019-10-26 22:40:18 1767

原创 centos安装oracle(一)

重要的事情说三遍:采用图形界面安装;采用图形界面安装;采用图形界面安装;oracle的很多程序是java语言写的,图形界面安装是常态。尝试过指令安装,装12c的oracle,搞了两天,没搞成。反正我是放弃了。果断采用图形界面安装。将oracle部署在centos服务器上。这会有一个很大的问题。系统装了,访问只能是用远程终端界面来访问,基本都是shell终端。这在安装图形界面时会有问题...

2019-07-28 10:15:40 226

原创 Windows和linux下oracle的一些共同处

1、安装的目录结构基本一致。数据库安装目录基于这个 product\11.2.0\dbhome_2数据库数据安装基于 oradata然后这几个目录在linux下安装的时候也是都有的2、数据库的启动与停止都是一样sqlplus / as sysdba进入到数据库之后。以下是linux中 显示的[oracle@localhost ~]$ sqlplus / as sysdba...

2019-07-22 23:35:39 537

原创 使用ORACLE(二)------ 建表空间,设置监听程序

1、安装完数据库后可以通过网页访问数据库,继续访问即可https://localhost:1158/em/2、进入表空间设置,创建表空间3、创建过程很快,大致如下。空间大小每个人根据具体情况而定,这种能动态设置空间大小的做法很任性人性化,确实不错。4、创建完成之后就可以在方才进入设置时的界面看到自己添加的表空间...

2019-07-22 23:15:38 281

原创 慎用gmtime和localtime

这两个函数都是获取时间的函数,但是这两个函数不能用于多线程。曾经在使用的时候发现时间莫名其妙发生了改变。后来仔细看了一下man手册,才发现这两个函数用的是静态空间。注意多线程安全问题。原文如下。如果要避免多线程造成值在使用过程中被改变,就应该使用gmtime_r。及时将获取的值取出来The gmtime() function converts the calendar timetim...

2019-07-22 21:59:11 1209

原创 为什么用void*做参数

刚开始接触c的朋友可能会奇怪,形参的类型为什么用void *??有这个问题说明对c语言自动的函数接口的写法,用法还不是很熟悉。简单搜一下write的用法。man手册走一遭。gec@ubuntu:/mnt/hgfs/share/LinuxC/str$ man 2 writegec@ubuntu:/mnt/hgfs/share/LinuxC/str$可以看到如下的接口设计。ssize_t w...

2019-07-11 23:57:39 4151

原创 strlen和sizeof的区别

区别:1、strlen函数是遇到0x00即结束。而且是个函数;sizeof是个宏定义,求的是指针变量的大小或者是数组的长度。注意:1、sizeof求指针大小,如char *p, int *p等等,类似这种指针,大小均为4。2、sizeof求数组大小,如char p[12], int p[24],单位是一个字节,根据类型大小和维度计算。3、从第1点和第2 点也可以看出指针和数组的区别!参...

2019-07-11 23:47:04 199

原创 局部锁和全局锁的区别

1、单线程的锁用局部锁,锁不住其他线程的访问#include <stdio.h>#include <pthread.h>typedef struct { int num; char array[20];} PthreadTestPara_t;PthreadTestPara_t p_struct[20] = {0};int g_num = 0;void...

2019-07-03 00:27:51 2188

原创 if多个条件判断时要想清楚

#include <stdio.h>#include <stdlib.h>int main(){ int i = 0; for (i = 0; i < 5; i++) { if (i != 1 || i != 2) { printf("[1] i = %d\n", i);//全部打印 } } printf("=====...

2019-07-01 23:35:02 3019

原创 使用ORACLE(一)------Windows下安装oralce数据库

前言:该版本环境是Windows10 环境。如出现第4点的问题,可以参看第14,15点解决再安装1、下载数据库。如果没有oralce的账号需要先注册一个。登录后才可以下载。本人下载的是Oracle Database 11g Release 2https://www.oracle.com/technetwork/database/enterprise-edition/downloads/1120...

2019-04-30 20:56:32 209

原创 C语言 goto 的作用域,用法

1.goto函数的作用域就是一个函数的作用域大小。注意,是函数的作用域,而不是花括号{ }。如下图,注释部分就是说明。如果在一个函数里加花括号{ }去验证,编译时会重复定义的错2、跨函数使用,如下所示,也会报错。一个是没有定义,一个是定义了未使用!!!3、这样一来,goto在使用时,在不同的函数,标签定义一样也是没有问题的。如下代码,输出结果。可见,goto 便签在不同函数定义一样是没有问...

2019-04-30 20:05:15 5564

原创 unsigned char 存 char类型的数据

1、如下,unsigned char i = 0;i = -1;printf("%d\n", i);结果输出 255;2、分析,出现这种情况,主要在于计算机中存储负数的特性导致的。-1, 在内存中是以相反数的形式存的,实际如下 ,所以最终变成255。3、在学c语言的时候,不同的数据类型都是有不同的范围的。很明显char 类型是 -128(0)~127,所以这些细节的东西平时也要多...

2019-04-07 14:52:53 2461

原创 LinuxC 对多线程访问全局变量的理解

假设现在有线程A和线程B,还有全局变量i,寄存器X1、线程对全局变量的访问时分三步走的 :(1)、取全局变量i到某个寄存器X(2)、对寄存器进行操作,即操作i的值(3)、操作完之后将寄存器X的值存会i2、多线程实际上是由时间片选来轮换进行的。当线程A执行到某个地方还没结束的时候,可能就会轮换到线程B来执行。3、总和上述两点,当线程A访问变量i的时候,可能只到了第(2)小步,就轮换到线程...

2019-02-25 23:14:52 4738

原创 LinuxC select函数小结

1、select机制是用于多路复用,什么叫复用,结合我的理解,就是在一个进程的一个线程里,能够同时去使用文件描述符(一般是socket套接字多连接)2、用法步骤:fd_set rfds; //文件描述符集合struct timeval tv;tv.tv_sec = 0;int ret, maxfd = -1;FD_ZERO(&amp...

2019-02-24 17:11:15 263

原创 compileSdkVersion、buildToolsVersion、buildToolsVersion、com.android.support:appcompat-v7:四者的版本对应小结

这是我在上一篇博客中的图片。前面说过这里要对应,这一步很重要。这是最理想的情况。都对应上是最好的。compileSdkVersion 所在项目使用的sdk库版本buildToolsVersion 构建工具的版本buildToolsVersion 目标设备的sdk版本com.android.support:appcompat-v7:26.+ 声明支持的sdk库版本。如果compileS...

2018-12-16 17:10:16 2499

原创 SDK库版本问题导致的 Failed to resolve:com.android.support:appcompat-v7:27.+

Failed to resolve:com.android.support:appcompat-v7:27.+我是在新建项目时出现的这种问题。这种问题一般都可以归结到Gradle的构建上。如果你去app目录下的build.gradle看,你会发现这句话出现在dependencies里面。提示信息里面的蓝色字体说道建立库然后再写入到工程里。那么到这一步你可以去想一下,应该就是sdk库的问题。其实...

2018-12-15 19:16:15 846

原创 warning:Ignoring InnerClasses attribute for an anonymous inner class(com.baidu……)

我是在调用百度地图API的时候出现这个问题的。整体报错图片如下。主要的原因就是AK申请时候出了问题。导致你的软件在使用时候向百度地图的后台申请资源时出了问题。这个可以看一下你的包名有没有对。如下,我的问题是由于包名不对导致的。希望能对你有帮助。...

2018-12-13 21:15:56 597 2

原创 Execution failed for task ':app:processDebugResources'

有时候在打开别人的AndroidStudio程序时会出现Execution failed for task ':app:processDebugResources’这个问题,出现这种原因一般是由于buildToolsVersion与compileSdkVersion 不匹配导致的。如下,有可能是compileSdkVersion 版本高了,如下例所示,可以将26改为 builToolsVse...

2018-12-13 20:54:22 2220

原创 Android申请百度API时发布版SHA1改怎么填?

第一次在用Android调用百度的API获取地理位置信息创建key store()1、这个其实是在生成APK时候创建的。这里顺带也可以学习一下如何生成Realease发布版APK2、创建一个Key store3、填写Key store 相关信息。密码最好填简单并且一致。4、Next,可以在 Remember passwords打个勾,后面就不用总是输入密码了5、6、点击Fi...

2018-12-08 20:45:42 376

原创 Eclipse使用.so动态库

编译动态库这个和新建项目是一样,基本就是一路next库的名字自己定,由于原先有了test这个工程的名字,所以会提示你既有工程存在,换个名字即可。这里比较简单,不做过多的介绍。关键是看如何使用一个库使用动态库这两个框中的地方的.h是同一个。这样的好处就是我在修改库内容的时候,应用层(maintest项目)的.h不用总是去修改,库(testlib项目)的东西一变maint...

2018-12-01 10:29:22 1829

转载 由于JVM版本问题导致的linux下Eclipse打开失败

**问题描述:**在linux下双击打开eclipse,出现这么个问题,主要原因是java的jdk版本过低,网上好些人说是由于装了oracle导致,这个可能不一定,也有可能是装了其他软件或者库导致的jdk问题。**解决:**怎么解决?升级成jdk1.8或者更高版本。点击跳转到jdk下载链接linux的建议下载 .tar.gz文件,解压后直接就可以用,不用再./configure三...

2018-11-24 20:39:40 808

原创 关于linux下Eclipse的编译(一)

**编译前自动保存代码** 通常我们口头说的编译常有两个含义:build和launch。严格来说build才是编译,对应的图标一般是一把锤子。launch是建立,运行的意思,对应的对标是一个“运行”的图标。1、在build前自动保存代码。Window --&gt; Preferences ,搜索build,在Workspace中,在Save automatically befo...

2018-11-17 00:00:08 536

原创 第一篇CSDN博客

以前从未写过博客,总觉得这是很牛逼时间很多的人做的事。压根也没想他们为什么想写博客。随着自己做开发的时间长了,才发现在做开发过程中很多需要去做笔记,去做整理。时间一长,以前东放西摆的文件都很难找全,有时想起以前的东西却发现很多都不知遗落在哪里了。 做笔记,开发笔记,或者写心得,其实就是一个梳理自己思路的过程,梳理得越清晰,越有条理,自己的知识体系框架就越牢靠。那么写博客的好处在哪里呢? 第一...

2018-11-15 21:37:17 97

ocilib-4.6.2-gnu.tar.gz

oracle 客户端库,前提是需要安装其他三个包 oracle-instantclient11.2-basic_11.2.0.4.0-2_i386.deb、oracle-instantclient11.2-devel_11.2.0.4.0-2_i386.deb、oracle-instantclient11.2-sqlplus_11.2.0.4.0-2_i386.deb

2019-04-17

oracle-instantclient11.2-sqlplus_11.2.0.4.0-2_i386.deb

oracle-instantclient11.2-sqlplus_11.2.0.4.0-2_i386.rpm转成的.deb

2019-04-17

oracle-instantclient11.2-devel_11.2.0.4.0-2_i386.deb

oracle-instantclient11.2-devel_11.2.0.4.0-2_i386.rpm 转成的 .deb

2019-04-17

oracle-instantclient11.2-basic_11.2.0.4.0-2_i386.deb

oracle-instantclient11.2-basic_11.2.0.4.0-2_i386.rpm 转成的 deb

2019-04-17

python-deteutil-2.7.5

该库是linux下python的一个库,从名字可以看出这是一个和时间相关的库。

2018-11-15

空空如也

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

TA关注的人

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