- 博客(44)
- 收藏
- 关注
原创 mktime很慢就自己去实现一个吧
mktime很慢就自己去实现一个吧标签(空格分隔): linux c语言1. 前言最近遇到一个转换数据的程序,只是一些内存操作,但是程序表现的巨慢,导致上线之后要天天盯着是否正常。忍不了,就使用gprofiler分析了一波,发现的结果是一个时间转换上十分耗时(占比达到90%多)mktime是用来把字符串时间(YYYYMMDD-HH:MM:SS)转换为unix时间戳的2. 慢的原因根据后面自己的测
2017-05-22 23:22:12
662
1
原创 sed文本处理常用操作
sed文本处理常用操作标签(空格分隔): linux sed (stream editor) is a Unix utility that parses and transforms text, using a simple, compact programming language修改配置文件的sed sed -i '/#datelist/ s/\=.*/\=."'$var'"/g' f
2017-04-18 10:53:27
308
转载 vim粘贴代码问题
vim粘贴代码问题标签(空格分隔): vim 在使用xshell进行vim操作的时候,经常会直接粘贴一些外部的代码,然后粘贴上之后会出现逐行缩进的情况,之前一直没有去找为啥,并且逐行的给他弄回去。转自:https://my.oschina.net/joshuazhan/blog/122539背景 在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本
2017-04-08 15:13:36
507
原创 linux进程(2)--进程概念
(ˇˍˇ) 想~本文来自《UNIX环境高级编程》的读书笔记。进程的创建执行程序进程的终止进程的属性进程间的关系进程的控制关系0.进程的基本进程的标识:每个进程都有一个非负整数表示的唯一进程ID。进程ID是唯一的,是可以作为识别进程的唯一标识的。特殊进程IDID为0的进程:调度进程,也被称为交换进程(swapper)。该进程是内核的一部分,系统进程。ID为1的进程:init进程,在自
2016-08-25 23:48:55
458
原创 gperftools工具的使用
最近在公司做优化程序,主要使用工具是gperftools。 每个分析阶段都是可以使用这个工具分析一把然后再进行优化的分析。1.gperftools下载源码包:https://github.com/gperftools/gperftools 配置:./configure –prefix=/usr/local/gperftools –enable-frame-pointers 然后make &&
2016-08-25 23:30:07
907
转载 让你不再害怕指针(转载)
让你不再害怕指针标签(空格分隔): c语言这篇文章是来自互联网:对C语言的指针解析的很好,在此记录。 原则:看到一个指针就去考虑四点:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区 以后,每遇到一个指针,都应该问问:这个指针的类型是什么?指针指的类型是什么?该指针指向了哪里?(重点注意) (把这个当做基本原则来对待)作为读者的总结1.这篇文档好在:
2016-07-31 19:36:44
285
转载 setjmp与longjmp使用(转载)
setjmp与longjmp使用(转载)标签(空格分隔): linux参考文章: setjmp和longjmp函数使用详解一、setjmp与longjmp用法非局部跳转语句—setjmp和longjmp函数。 非局部指的是,这不是由普通C语言goto,语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函数调用路径上的某一个函数中。#include <setjmp.h>int se
2016-07-17 15:19:29
429
原创 linux进程(1)--进程运行的环境
linux进程(1)–进程运行的环境标签(空格分隔): linux以下内容来自《UNIX环境高级编程》读书笔记前引首先想想下面几个问题能不能解答:当程序被执行的时候,main函数时如何被调用的?程序在内存的存储空间布局是怎样的?命令行参数时如何传递给新程序的?进程如何读取环境变量?进程堆空间的使用进程的终止方式进程是程序执行的基本,进程即为程序执行的活动体。下面是进程在系统上运行的一些环
2016-07-16 18:04:09
1533
转载 linux安装包管理
linux安装包管理标签(空格分隔): linuxLinux 下的软件包管理工具linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装。1.软件包的种类Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止
2016-07-15 22:23:07
413
原创 Linux下的标准I/O库函数小记
原文链接:我的个人博客 图片来自免费图片网站:pixabay 当达旺把丁天民和江雪在那什海的照片给他两时,问了一句:“你们认识多久了” “一天。”丁天民对达旺说。 “那什海的鸟一天要飞几百万次,那什海的云一天要变换几千万次,一天已经很久了。”达旺说。 引自:《末日浮城》 以下内容来自《UNIX环境高级编程》的读书笔记整理。一、前提文件流 标准IO操作的是一个FILE文
2016-07-15 21:59:33
1143
原创 正则表达式小记--入门到会写
正则表达式标签(空格分隔): linux 图片来自:pixabay 和妹子相处的要义是:若妹子涉世未深,就带她看尽人间繁华;若她心已沧桑,就带她坐旋转木马。 引自《来自未知的撩妹技能》前述 正则表达式在匹配和一些脚本中使用。个人认为在一些情况下是很有用的。下面是根据jack的述说和网上的一份正则表达式30分钟入门的教程总结的一份表述,留待以后查看。还是那句话,学习新知识还是得使用2
2016-07-15 21:34:15
477
原创 find 用法详解小记
find命令的功能很强大,查找文件的选项很多,所以这是一个很实用并且很常用的linux命令。但是他有个缺点就是搜索的时候比较慢的。而与之相对的有一个locate命令。 find的命令格式 find pathname -option [-print ] [ -exec -ok command] {} \; 2. 命令参数:
2016-07-03 22:59:54
456
转载 嵌入式工程师应该知道的C语言
嵌入式工程师应该知道的C语言原文地址分类: c2013-05-31 12:09 2673人阅读 评论(0) 收藏 举报收集的一些嵌入式软件工程师面试题目 1、将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少bit
2015-09-18 17:44:15
1015
原创 【pcDuino开源硬件】开机篇
暑假集中学习了一段时间的嵌入式开发,最近闲下来,准备把所学所想都通过博客的方式记录下来。学习很重要,但是回顾和复习更重要,第一篇,开端,加油!开始pcDuino简介:pcDuino是一种高性能,高性价比的迷你PC的平台,能够运行PC操作系统,如Ubuntu和Android的ICS等。它可以通过内置HDMI接口输出视频到电视或显示器屏幕。主要应用arduino的库来进行开
2015-09-05 16:08:03
688
转载 堆和栈的区别(转过无数次的文章)
转自:堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注
2015-08-03 09:29:24
377
转载 深入了解信号槽
转自:本文出自 “豆子空间” 博客,请务必保留此出处http://devbean.blog.51cto.com/448512/199461信号槽机制是Qt编程的基础。通过信号槽,能够使Qt各组件在不知道对方的情形下能够相互通讯。这就将类之间的关系做了最大程度的解耦。 槽函数和普通的C++成员函数没有很大的区别。它们也可以使virtual的;可以被重写;可以使
2015-07-25 10:30:12
449
转载 【linux技巧】启用root账户
Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。如何设置root密码
2015-05-27 18:58:48
967
原创 【链表】续写上次的19功能链表
我相信编程是通过多练多写。链表确实我很爱的一种数据结构。主要是因为刚开始有不懂,看别人的程序来模仿,而现在可以自如的写出来,所以又开一贴来存储自己的成长之路。有错误希望提醒。谢谢!后面的几个删除功能暂时没写上,印证了那句今日事没有今日毕的话了,昨晚写一晚上没能坚持写完,所以现在又不想写。。。#include #include /**********************
2015-01-31 10:47:51
388
原创 【C语言探索之二】内存陷阱
指针操作即是内存操作,在进行内存操作是,会存在很多错误,所以我想熟悉一些内存上的陷阱,以使在使用指针上能更安全,方便的使用
2015-01-22 22:51:06
499
原创 【C语言探索之一】二维数组,二维数组名的意义
1.一维数组一维数组名,代表两个(1)代表整个数组(虽然谭老爷子的书上说不能,但是只是那个情境下)(2)代表首地址2.二维数组想到二维数组在指针方面的理解很是麻烦,所以我自己想了一种理解方式,如下图所示二维数组名的意义感觉很难受,所以自己来探索下其代表些什么下面是我的代码和结果可以看到他们四个的值是一模一样
2015-01-22 11:15:37
5099
1
原创 C语言的文件操作
最近在看文件操作,搜索博客发现一篇很好的博客,主要来理解下“FILE”结构体的内容,对文件操作的认知原文地址:http://blog.youkuaiyun.com/xingty/article/details/8349450其中这里 FILE结构体我稍微的探究了下/**char *_ptr; // 指向buffer中第一个未读的字节 int _cnt; //
2014-12-16 22:00:41
622
转载 C语言中的文件流
原文文章来源:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3165401&PostID=26021791我转载自:http://blog.youkuaiyun.com/xingty/article/details/8349450感谢作者,让我能够那么容易的掌握文件操作;所谓文件(file)一般指存储在外部介质上数据的集合,比如我
2014-12-15 22:57:48
1239
原创 C语言动态数组
之前看了很多好的博客,对这些讲的很详细动态数组:http://blog.youkuaiyun.com/bigloomy/article/details/6615012内存分配函数:http://blog.chinaunix.net/uid-24227137-id-3143974.html下面是我的代码#include#includeint main(){ typedef int
2014-12-15 22:48:20
439
转载 realloc函数的使用
原文地址:realloc函数的使用作者:shibo1997_497#include #include #include using namespace std;void setVal(char *tmp,int qs,int num,char mm){ for(int i=qs;i { *(tmp+i)=mm; } *(tmp+num-1)=' ';}int main()
2014-12-15 22:48:17
487
转载 C语言字符串
C语言字符串一直是我的痛,看到这篇文章果断收藏与此,以后我有突破也发博文文章地址:http://blog.163.com/ocean_china@126/blog/static/1851702020080410502075/
2014-12-15 22:48:14
507
原创 stm32 GPIO复用功能AFIO介绍
最近学习32,刚开始的菜鸟,只是把基本的变成模式学会了看到一篇介绍复用AFIO的好文章,在这里收藏待用吧链接:http://blog.youkuaiyun.com/k122769836/article/details/7700153
2014-12-15 22:48:11
1094
原创 内部碎片和外部碎片
最近在看操作系统,看到内存分配的一部分,对于内部碎片和外部碎片一只分部清楚,上网搜了一些资料,搜到一个博客上的说的蛮不错的博客原地址:http://blog.youkuaiyun.com/haiross/article/details/38704945外部碎片和内部碎片的区别一、在内存上(使用连续分配算法来管理分配内存时会产生)的外部碎片和内部碎片两个概念 这几天一直看操作系统,看到内
2014-12-15 22:48:09
814
转载 C语言中变量的作用域和生命…
原文地址:C语言中变量的作用域和生命周期作者:wuqiseu谭浩强书: 从存储模型可以看到,谭浩强和钱能的模型有一定的对应关系: 静态存储区 -> 全局数据区 动态存储区 -> 栈(stack)变量的类型: 1. 局部变量和全局变量 局部变量也称为内部变量。局部变量是在函数内作定义说明的。
2014-12-15 22:48:05
583
原创 ACM1003
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003题目大致意思是对一组数求和,找出其中最大的值和这个最大和的起始位置和末位;应用到动态数组的分配刚开始没有想到动态数组,就定义了一个老长的数组啊,最后代码所占空间太大直接通不过。。。后来优化了,还是无法通过,说是运行超时了,,,我也是醉了。。。实在找不出是哪里让他超时了、、、看来
2014-12-15 22:48:02
476
原创 C语言之const与static的用法
const是C语言的一个关键词,也可以叫做常量修饰符,意即其所修饰的对象为常量(immutable)。const有几种用法,当他修饰变量时表明这个变量是只读的,但并不是不能修改的,还是可以通过一些方法修改,在本文结尾可以探讨下修改的方法1,const的普通用法constint n=10; //这里注意到,const在应用时必须初始化,否则是不合法的这里很明显,n为只读变量,
2014-12-15 22:47:59
965
原创 __I、 __O 、__IO是什么…
volatile 区分嵌入式C语言和一般C语言的一个标志这是ST库里面的宏定义,定义如下:#define __I volatileconst defines 'read only' permissions */#define __O volatile defines 'write only
2014-12-15 22:47:50
472
转载 杭电ACM题目分类
原文地址:杭电ACM题目分类作者:zzu追梦人第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 1012 简单题1013 简单题(有
2014-12-15 22:47:46
501
原创 windows删除文件
当一个文件怎么都删除不了时,你最先想到的是用360等工具强制删除吧,但是对于我这种有强迫症的人来说我更喜欢用windows的方法来删除这个顽固文件这个方法很简单。进入安全模式直接删除
2014-12-15 22:47:43
450
原创 ubuntu中文版终端乱码的解决办法(…
此法是书上看到的,因为原来我安装的是中文版的。可是后来因为终端乱码的问题,刚开始玩ubuntu,百度找的方法无法解决,所以现在是英文版的。解决办法:1.首先应用vi打开/etc/environment文件终端执行命令:#vi /etc/environment2.如果你是安装的中文版的,就会看到PATH变量的值还有整个环境的语言默认的环境使用语言是“zh_CN.UTF-8”,而在终端
2014-12-15 22:47:40
639
原创 软件
此文为了记住一些我用过的经典软件mindmaneger 思维导图codeblocks 开发平台modelsimmultisimproteusquartusvmwarekeilmatlab
2014-12-15 22:47:37
495
原创 C语言scanf的探索
按照惯例先来说说自己想写这个博客的原因哈今天看小甲鱼的C++视频,他出了一道题目输入为:123 123 2 3 1 ....,输出这些数字的和,但是这里数字之间存在很多空格,所以要能过滤空格,实现代码: int i,sum=0; char ch; printf("输入多个整数以空格隔开: "); while(scanf
2014-12-15 13:04:04
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人