6 peiwang245

尚未进行身份认证

我要认证

高山仰止,景行行止,夯实每一步,努力前行。

等级
TA的排名 2w+

linux 下 C编程学习记(一)

接触C语言已经4年了,但是一直没有在linux下写过C代码也没有想过在linux下开发要学习一些什么东西,最近看了一些在linux下的C开发知识,突然发现用惯了windows下的集成开发环境的自己弱爆了。看了也有一段时间了,总结一下最近的成果,希望对向我们这一类的初学者有抛砖引玉的作用。一:工具的使用1、学会使用vim/emacs,vim/emacs是linux下常用的源码开发工具。2、学会makefile文件的编写规则,并结合aclocal,autoconf,aotumake。生成mak.

2020-10-11 13:01:16

Linux 查找操作

很多时候,需要在某个文件夹下查看所有的文件是否包含某个字符串,比如已知一个变量名,但是不知道定义在哪个文件里,就可以搜一下。(1)目录下的所有文件中查找字符串find . | xargs grep -ri "class" 其实,该命令行等价于grep -ri "class" .(2)目录下的所有文件中查找字符串,并且只打印出含有该字符串的文件名find . | xar...

2020-10-11 12:58:45

2020-10-11

准备工作需要准备以下环境:- Linux(本文以Fedora25为例)- CD/DVD刻录机- DVD-R刻录光盘或DVD-RW可擦写光盘一张- 刻录软件cdrecord(推荐刻录CD)- 刻录软件growisofs(推荐刻录DVD)使用cdrecord刻录软件cdrecord即wodim,它常被用来刻录CD光盘,当然也可以刻录DVD光盘。安装软件[root@dhcp-14-171 ~]# yum install -y cdrecord1刻录光盘验证光盘(仅可擦写光盘

2020-10-11 12:45:18

Nero 软件各种组件简单介绍

Nero 软件套件,它由一系列组件构成,这些组件因不同的套件类型而异。以下是组件清单:Nero Burning ROM、InCD、 Nero StartSmart、Nero Toolkit、Nero CoverDesigner、Nero WaveEditor、 Nero SoundTrax、Nero BackItUp、Nero ImageDrive、Nero ShowTime、 Nero Recode、InCD Reader、Nero PhotoSnap、Nero MediaHome、 Nero Phot

2020-10-11 12:41:08

sqlite3数据库c语言简单操作基础(一)

概述:sqlite3数据库是一个比较精简的数据库操作库,在嵌入式设备上,因其轻量级,大多使用的就是这货了。当然它的使用也是比较简单的,通过几个基础的API就可以完成一些基本的操作了。最近使用这货,所以做一下学习笔记,省得以后用到又的查资料麻烦。这篇笔记就主要是数据库的创建还有基础的几个API介绍。后面的话会具体记录一下数据库的增删改查,以及事务部分。使用测试环境:系统linux:ubuntu14.041,sqlite3库下载地址官网地址:https://www.sqlite.org/downlo

2020-10-08 13:11:28

QT读写Sqlite

在.pro文件中添加QT += sql执行qmakeQT对一些基本的数据库的访问封装,可谓是极大的方便的我们开发人员,现在我们就来说下QT对Sqlite这个数据库的读写,Sqlite是一个比较小型的本地数据库,对于保存一些软件配置参数或量不是很大的数据是相当的方便,Qt本身已经自带了Sqlite的驱动,直接使用相关的类库即可,这篇我们主要来说明QT访问Sqlite数据库的三种方式(即使用三种类库去访问),分别为QSqlQuery、QSqlQueryModel、QSqlTableModel,对于这三种类库

2020-10-08 13:09:08

sqlite3.h中的函数使用方法

一.使用流程要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll文件放到当前目录下,就完成配置可以使用sqlite了。使用的过程根据使用的函数大致分为如下几个过程:sqlite3_open()sqlite3_prepare()sqlite3_step()sqlite3_column()sqlite3_finalize()sqlite3_close()

2020-10-08 13:03:35

SQLite学习笔记(八)-- BLOB数据的插入与查询(C++实现)

1.什么是BLOB数据BLOB (binary large object)即二进制大对象,是一种可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。常见的BLOB文件有图片、声音和自定义对象等。2.BLOB操作相关API介绍2.1 准备SQL语句2.2 BLOB绑定函数2.3 准备语句执行函数2.5 获取指定字段的整形数据值2.7 获取指定BLOB数据长度3.代码实例函数原型...

2020-10-08 12:58:03

sqlite3:深入理解sqlite3_stmt 机制

我们在使用sqlite3的过程中,涉及到批量操作时(批量插入、批量读。。。),总会遇到 sqlite3_stmt这个数据类型,按照官方解释说法是这样的:sqlite3_stmt是C接口中“准备语句对象”,该对象是一条SQL语句的实例,而且该语句已经编译成二进制形式,可以直接进行计算。它并不是我们所熟悉的sql语句,而是一个已经把sql语句解析了的,用sqlite3自己标记记录的内部数据结构,可以被直接执行的语句,所以,如果结合变量,采用sqlite3_stmt结构,会使得批量操作执行的效率大大提高...

2020-10-08 12:46:31

Qt批量创建控件与批量操作控件QPushButton QLineEdit

使用QT编程,题目1:假设有这样的需求:向Widget窗体中添加30个按钮(QPushButton),如何用代码实现呢?有两种方法,一种是:添加:for (i = 0; i<30; i++){ QPushButton *bt = new QPushButton(QString::asprintf("Button%d", i + 1), ui->widget);//注:最后一个参数一定为一个“父窗体”! bt->setGeometry(i * 10, i * 10

2020-06-05 20:57:26

Qt4.8.7连接MySql数据库(windows环境)

1.软件准备qt-opensource-windows-x86-mingw482-4.8.7.exeQt4的最后一个版本,bug应该是最少的,其他版本也类似。官方下载链接(329M) mysql-5.5.37-win32.msiMySql数据库,安装时注意选择全部安装。百度网盘下载(33M)2.安装MySql安装完成后,D盘根目录新建一个MySql文件夹,把D:\Program Files (x86)\MySQL\MySQL Server 5.5目录下的include和lib文件夹拷贝到C:..

2020-06-05 20:20:05

C++深拷贝与浅拷贝(实现String类)

浅拷贝:1.什么是浅拷贝? 浅拷贝会出现什么问题?所谓浅拷贝,指的是在对象复制时,只是对对象中的数据成员进行简单的复制,默认拷贝构造函数执行的也是浅拷贝。简单的说,浅拷贝就是值传递,将源空间里面的内容复制到目标空间中。存在缺陷:多个指针可能共用管理一块内存空间,在释放时,导致对一块空间的多次释放,造成内存泄露。深拷贝:2. 什么是深拷贝?在“深拷贝”的情况下,对于对象中动态成员,就不能仅仅简单地赋值了,而应该重新动态分配空间。深拷贝与浅拷贝:3.浅拷贝与深拷贝的不同之处:

2020-05-29 23:22:46

结构体深度剖析(内存对齐,对齐参数,偏移量)

一、了解结构体在C语言中,除了最常见用数据类型,字符类型(char)、整数类型(short、int、long )、实型(float、double),,,,,,最常见也是最经典的还有一种数据类型,那就是结构体。二、结构体经典面试题:(1)、什么是结构体?(2)、一般在什么情况下用到结构体?(3)、什么是结构体内存对齐?为什么要对齐?怎样对齐?(4)、对齐参数如何设置?可以设置为按照任意字节数对齐吗?(5)、如何知道结构体某个成员相对于结构体起始位置的偏移量?三、 下面,我们围绕以上提..

2020-05-29 23:16:29

“内存对界”原理——数据是如何对齐的

1.内存对界原理在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如:struct struct1{char x1; // 对界条件为1,不填充,偏移地址为0short x2; // 对界条件为2,前面.

2020-05-29 23:14:09

原码,反码,补码的深入理解与原理

        本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等于反码加一。接触过计算机或电子信息相关课程的同学,应该都或多或少看过补码这哥仨。每次都是在课本的最前几页,来上这么一段:什...

2020-05-29 23:06:42

远指针和近指针,巨指针

char near p; /定义一个字符型“近”指针*/char far p; /定义一个字符型“远”指针*/char huge p; /定义一个字符型“巨”指针*/首先要从8086处理器体系结构和汇编渊源讲起。大家知道,8086是一个16位处理器,它设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。8086采用段式

2020-05-29 23:05:44

sockaddr_in结构体简介

sockaddr_in(在netinet/in.h中定义):struct sockaddr_in {short int sin_family; /* Address family */unsigned short int sin_port; /* Port number */struct in_addr sin_addr; /* Internet address */unsigned char sin_zero[8]...

2020-05-29 23:04:22

UML-用例图

用例图:主要用于描述系统的行为及各种功能之间的关系,是描述参与者(Actor)与用例以及用例与用例之间关系的图。用例图 = 参与者 + 用例 + 关系1.组成1.1用例(use case) 用例 概念: 1)系统、子系统或类与外部参与者(actor)交互的动作序列的说明,包括各种序列及出错序列。 2)简单理解为用例就是系统的功能。 3)用例分析可以认为是对系统功能的分解。1.2参与者(角色,actor) 1)参与者:...

2020-05-29 23:02:57

WSAStartup( )详解

这里用通俗的语言解释一下这个函数,就类似于opencv一样,要添加链接库函数,cv.lib等,要添加到附加依赖项,或者通过#pragma comment(lib,”cv.lib“)一样,然后才能包含头文件进行各种函数的调用。当然了,socket编程要调用各种socket函数,但是需要库Ws2_32.lib和头文件Winsock2.h,这里的WSAStartup就是为了向操作系统说明,我们要用哪个库文件,让该库文件与当前的应用程序绑定,从而就可以调用该版本的socket的各种函数了。头文件header:.

2020-05-29 23:01:10

NVR+DVR+CVR

一、NVR的简介  简单来说:NVR(Network Video Recorder)又叫网络视频录像机,是一类视频录像设备,与网络摄像机或视频编码器配套使用,实现对通过网络传送过来的数字视频的记录。  NVR最主要的功能是通过网络接收IPC(网络摄像机)、DVS(视频编码器)等设备传输的数字视频码流,并进行存储、管理。NVR的核心价值在于视频中间件,通过视频中间件的方式,广泛兼容各厂家不同数字设备的编码格式,从而实现网络化带来的分布式架构、组件化接入的目的。  NVR的主要工作原理就是将网络作为

2020-05-21 21:08:51

查看更多

勋章 我的勋章
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。