- 博客(41)
- 资源 (9)
- 收藏
- 关注
转载 Makefile中 -I -L -l区别
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld上面这句表示在编译hello.c时:-I /home/hello/include表示将/home/hello/include目录作为...
2019-06-24 09:57:56 9522
原创 SIM800C 透传模式与非透传模式测试对比
许多客户对于什么是透传模式不了解,当我们向客户说明什么是透传模式时,许多人都不明白,现在海凌科电子有限公司现向客户说明什么是透传模式。SerialNet模式将本地异步串口通信转换成基于TCP/UDP协议的网络通信。其主要目是将串行通信的简单设备实现在网络上的通信,而这些设备不需要做任何改变,为此,SerialNet模式定义了一系列相关的操作参数,这些参数的定义实现了网络连接所需要的属性。当DT...
2019-03-25 09:06:10 3910
原创 GCC 编译流程分析
1:预处理阶段#include <stdio.h>//源码int main(int argc, char *argv[]){ int a = 8; int b; a = a+3; printf("a = %d\n",a); return 0;}把头文件加到test.i文件了:我们可以看见加了好多文件2:编译阶段(gcc首先...
2019-03-25 09:05:01 393
转载 Android的startActivityForResult()与onActivityResult()与setResult()参数分析,activity带参数的返回
@https://www.cnblogs.com/fuck1/p/5456337.html一、使用场景 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Activity处理。这种带数据的意图跳转需要使用activity的onActivityResul...
2019-03-22 16:16:52 355
原创 linux c 进程池 简单实现
进程池&&线程池在面向对象程序编程中,对象的创建与析构都是一个较为复杂的过程,较费时间,所以为了提高程序的运行效率尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。 所以我们可以创建一个进程池(线程池),预先放一些进程(线程)进去,要用的时候就直接调用,用完之后再把进程归还给进程池,省下创建删除进程的时间,不过当然就需要额外的开销了。 利用线程池与进程池可以...
2019-02-16 14:00:39 4053
转载 Keil编译软件的使用汇总
转:http://blog.sina.com.cn/s/blog_453226290102xjlz.html目录:一、Keil5.12中文注释代码或粘贴后乱码1、中文注释代码乱码2、复制粘贴后乱码(复制粘贴代码变乱码)二、Keil5.12代码补全功能三、Keil5.12编译报错的处理(STM32使用J-Link仿真相关汇总)1、去除“STM32F10X_MD”...
2018-12-25 09:07:36 3938
转载 Linux 下进行 OCCI ( Oracle C++ Call Interface ) 开发
https://blog.csdn.net/zklth/article/details/7190340?utm_source=blogxgwz0
2018-12-04 11:09:49 886
原创 lll
1:栈 http://blog.csdn.net/u013475964/article/details/786917132:http://blog.csdn.net/beyond702/article/details/522286833函数调用栈空间以及fp寄存器:http://blog.csdn.net/beyond702/article/details/522286834:ht...
2018-11-29 10:12:05 691
原创 c++ 学习
http://c.biancheng.net/view/164.html http://www.runoob.com/cplusplus/cpp-strings.html
2018-11-29 10:08:08 127
转载 Java中的类加载和Class.forName();java反射机制与原理
转载:https://blog.csdn.net/fireblue1990/article/details/74055955 对于大部分人来说,第一次见到class.forName(String className)这句代码应该是在使用jdbc方式连接数据库的时候。但这句代码本质上是什么含义,做了什么工作呢?本文将回答此问题。理解Class.forName方法需要一些知识铺垫,也就是C...
2018-09-28 17:49:06 5758
原创 linux 下 格式化u盘 并分区 为fat32文件系统
格式化u盘 为fat32一: 卸载 二:彻底格式化三:分区四:查看现有分区(没有) 五:新建分区六:查看已分的区(只分一个主分区)七:选择一个文件系统按L 选中完成:保存退出 格式化分区:mkfs.vfat /dev/sdb1...
2018-08-24 16:25:25 21032
转载 Win7下JavaEE开发环境的搭建与配置---全套环境(JDK+Tomcat+Maven+MySQL+Navicat+TortoiseSVN+Eclipse的SVN插件+Eclipse+power)
转:https://blog.csdn.net/chenchunlin526/article/details/54667517看myeclipse:https://blog.csdn.net/zhshulin/article/details/30779873Win7下JavaEE开发环境的搭建与配置---全套环境(JDK+tomcat+Maven+MySQL+Navicat Premium...
2018-08-23 09:44:17 327
原创 Linux系统下创建守护进程(Daemon)
守护进程(daemon)是指在后台运行的,没有控制终端与之相连的进程。它独立于控制终端,周期性地执行某种任务。Linux的大多数服务器就是用守护进程的方式实现的。如web服务器进程http等。守护进程在后台运行,类似于Windows中的系统服务。 编写守护进程程序的要点: (1)让程序在后台执行。方法是调用fork()产生一个子进程,然后使父进程退出。(2)调用se...
2018-07-30 17:29:50 34272 2
转载 Linux下的网络环境配置
转:https://blog.csdn.net/lcr_happy/article/details/546201481、常用配置网络指令(1) 配置eth0的IP地址, 同时激活该设备 1 sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up (2) 添加默认网关 ...
2018-07-30 10:02:35 204
原创 进程文件描述符继承
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int g = 100; ...
2018-07-18 10:31:54 269
原创 c++ JSON class:Value、Reader、Writer。jsoncpp
【JSON简介】 jsoncpp 主要包含三种类型的 class:Value(单个数据的值)、Reader(读jsong格式)、Writer(写成json格式)。jsoncpp 中所有对象、类名都在 namespace Json 中,包含 json.h 即可。【VALUE】 Json::Value 是jsoncpp 中最基本、最重要的类,用于表示各种类型的对象,jsoncpp 支...
2018-07-18 08:59:04 14295 4
转载 linux 环境 soap
在linux下,利用gSoap开发Web Service C/C++客户端一. 开发环境准备1. 从gSoap官方网站http://gsoap2.sourceforge.net 下载gSoap工具包。本例下载的是2.7.15的版本。2. 根据说明文档(README)配置安装gSoap工具包。说明: 一般下载的gSoap工具包中已经包含了生成Web Service客户端需要...
2018-03-25 14:24:42 1578
原创 linux c 进程
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#include <sys/types.h>#include <wait.h>#include <sys/ipc.h>#if 0int main(i
2018-03-25 13:39:39 258
转载 缓冲区溢出攻击
转:http://www.cnblogs.com/scu-cjx/p/7741977.html图片来源:http://blog.csdn.net/u010651541/article/details/49849557主要根据此图给出一些程序变量的分配情况,以及缓冲区溢出攻击的简单原理。上述图主要描述进程虚拟地址空间,即用户空间内容,进程内核地址空间为所有进程共用(Linux内核中)栈区:理解为函数...
2018-03-06 16:11:04 404
转载 空闲内存管理
学习自《现代操作系统》操作系统在动态分配内存时(malloc,new),需要对空间内存进行管理。一般采用了两种方式:位图和空间链表。1、使用位图的存储管理内存被划分为若干个几字节大小的分配单元,每个分配单元是否是空闲的情况采用位图来进行描述,如果已分配,相应位置1,未分配,置0。当需要分配新内存时,从位图中遍历找到满足大小的连续个0所在位置的内存,将其分配。很显然,如果分配单元越小,则位图将会越大...
2018-03-06 16:09:21 997
转载 内存管理——进程创建,执行,缺页,终止
与分页相关的工作。1、进程创建时:当进程被创建时,操作系统需要确定程序和数据在初始时有多大,并针对其大小为进程创建页表,操作系统需要在内存中为页表分配空间并进行初始化。此外,操作系统需要在磁盘交换区中分配空间,以用来在一个进程换出时在磁盘上有放置此进程的空间;2、进程执行时:重置MMU,刷新TLB,清除先前进程信息,将新进程页表设置为当前页表(Linux操作硬件设置CR3控制寄存器为新的进程页目录...
2018-03-06 16:08:12 826
转载 TLB和cache的关系
一)TLB1)TLB的概述TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.分页与页表概念性内容不再阐述。直接给出解释。MMU为内存管理单元,其作为硬件用于将虚拟地址映射为物理地址。上图右边部分,箭头所述部分内容即采用MMU完成地址映射。虚拟地址通过多级页表映射后对应...
2018-03-06 15:50:59 18651
原创 select函数 异步多路复用
使用select函数就可以实现非阻塞编程:异步//服务端/*fd_set其实这是一个数组的宏定义,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(socket、文件、管道、设备等)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执行了select()的进程哪个句柄可读。*/#include <...
2018-02-23 17:38:21 416
转载 linux c 进程
1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理解的.#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <stri...
2018-02-23 14:46:21 331
转载 C++中常用到的容器
原文:点击打开链接这里主要讲C++中经常用到的一些保存数据的容器,其中也会介绍string。在C++11中提到了很多容器,这里主要介绍:vector、list、map。还有一些其他的容器就不做介绍了。1.String 这是我们用得最多的用来表示字符串的类型了 ,下面介绍一下String的一些知识: 初始化: string s1;//这里默认初始化,s1是一个空字符串
2018-02-06 10:08:11 212
原创 深刻认识 -->> 立即数
在ARM汇编的数据处理指令中经常会使用到常数,而ARM汇编中规定使用的常数必 须是立即数;为什么会有立即数这样的规定呢?答:这是由于所有的ARM指令是精简指令集,指令长度固定都是32位,对于ARM数据处理指令自然也是一样。数据处理指令大致可包含3类,数据传送指令、数据算术逻辑运算指令和数据比较指令。在一条ARM数据处理指令中,除了要包含处理的数据值外,还要标识ARM命令名称,控制位,寄存器等其
2018-02-04 17:21:06 7464 2
原创 c++ satic const
#include using namespace std;/** * * * C++ 语言的 static 关键字有二种用途:当然以上的几种,也可以用在c++中。还有额外的两种用法:1.静态数据成员:用于修饰 class 的数据成员,即所谓“静态成员”。这种数据成员的生存期大于 class 的对象(实体 instance)。静态数据成员是每个 class 有一份,普通数据成员
2018-02-02 18:06:52 251
原创 c++ 多层继承分析
(1)首先我们考虑一个(非虚拟)多重继承的相对简单的例子。看看下面的C++类层次结构:注意Top被继承了两次(在Eiffel语言中这被称作重复继承)。这意味着类型Bottom的一个实例bottom将有两个叫做a的元素(分别为bottom.Left::a和bottom.Right::a)那么Buttom 在内存中是如何存储的呢:编译器建议如下(当然也可以Right放在Left上面...
2018-02-02 18:02:03 3590
转载 C++ 多继承和虚继承的内存布局(转)
@http://www.oschina.net/translate/cpp-virtual-inheritance警告. 本文有点技术难度,需要读者了解C++和一些汇编语言知识。在本文中,我们解释由gcc编译器实现多继承和虚继承的对象的布局。虽然在理想的C++程序中不需要知道这些编译器内部细节,但不幸的是多重继承(特别是虚拟继承)的实现方式有各种各样的不太明确的
2018-02-01 16:21:44 221
转载 C++ 拷贝构造函数和赋值运算符
C++ 拷贝构造函数和赋值运算符本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,简单的分析了下深拷贝和浅拷贝的问题。拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用delete来指定不生成拷贝
2018-02-01 15:20:03 186
原创 宏定义和内联函数区别
宏定义和内联函数区别 内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。 宏定义不检查函数参数,返回值什么的,只是展开,相对来说,内联函数会检查参数类型,所以更安全。 内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是
2018-01-31 14:59:42 9178 1
原创 GNU C __atttibute__ 机制
/* * *attribute机制 gnu c 一大特色 可以设置函数属性、变量属性、类型属性; *书写特征:__attribute__(...); * * */ /******1:函数属性********/#include /********************************************************************/
2018-01-30 18:04:23 748
原创 android: 程序 生命周期
简单 测试步骤:(规则:一共两个界面 LogCat 后面没有2 的是第一个界面) 页面: 采取栈管理方式,在栈顶的activity 就是和用户正在交互的页面 销毁就出栈了 回调方法:可以理解为不是按照普通函数执行顺序的方法 ,理解为:用户操作时 回调函数 才被调用 第一步:圣人不说话前 空空如也(日志是空的 程序是TestLife)第二步:打开
2018-01-23 17:29:59 174
原创 java --》接口、 抽象类
package com.abstrac;/*一.抽象类(abstract class) * * 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: * *1: abstract void fun(); *定义为“包含抽象方法的类”, *抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个
2018-01-15 16:27:46 189
原创 java: 封装缓存池(int与Integer)、常量池(拘留池)、static变量 static代码块 static方法、 final变量、final 方法、final类 整理
java 内存模型:JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的内存 堆:对象的具体(属性 方法); 非堆区:栈:方法执行时 在此操作,局部变量,堆中对象的地址;静态数据区:static修饰的数据区(假设 技术不能假设!!):如果经stat
2018-01-15 13:35:18 2268
转载 外部中断和内部中断 硬中断 软中断 中断下半部
重要声明: 以下代码有粘贴 截取他人劳动成果的成分 如有雷同 不胜荣幸 如您不能容忍 请不要独自忍受@weChat:iisssssssssii 联系小民 主动删除 中断含义: {中断是CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。引起中断的原因或者说发出中断请求的
2018-01-09 15:51:24 13297 1
转载 自旋 锁与多核 单核 时间片 抢占内核 非抢占内核
(1) linux上的自旋锁有三种实现: 1. 在单cpu,不可抢占内核中,自旋锁为空操作。 2. 在单cpu,可抢占内核中,自旋锁实现为“禁止内核抢占”,并不实现“自旋”。 3. 在多cpu,可抢占内核中,自旋锁实现为“禁止内核抢占” + “自旋”。(2) 关于抢占式内核与非抢占式内核: 在非抢占式内
2018-01-08 16:40:46 1648 1
原创 linux 驱动 -》按键 中断 request_irq 延时防抖mod_timer
/* 按键的消抖*/#include #include #include #include #include #include #include #include #include #include #include int major=250;int minor=0;dev_t devno;struct cdev cdev;static struct clas
2018-01-05 09:11:12 1043
原创 光伏电站综合自动化
基础回顾:并网:与电力网(如国家电网)相连接的太阳能光伏系统,叫光伏并网系统,光伏并网发电系统有分为:分布式并网、集中式并网。如图(1)分布式并网光伏发电:是用户自行安装在用户侧的发电装置(小型);目的:就近解决用户用电问题,减少对电力网的依赖,通过并网实现供电差额的补偿与外送(当太阳能充足时,家庭用电就不在从国家电网取电,如果电量多余还会相国家电网输送电力;当太阳能不足时,供电不
2016-10-31 15:48:14 1315
Arm ping command package can compile and transplant source code.zip
2020-04-17
Visual C# 2010 Express
2018-07-31
formatTool彻底格式化工具
2018-07-31
好用的 PDF-XChange 功能强大的PDF转换工具
2018-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人