- 博客(141)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 简答实用的宏的写法
本篇文章主要实现打印参数的传递,这里定义了一个宏。#define debug_printf(format, ...){\ printf("%s,%d: " format "", __func__, __LINE__, ##__VA_ARGS__);\}
2019-01-17 16:36:39
290
原创 使用parted创建分区
今天在网上查找分区方法,发现都是用的fdisk,但自己使用总是出错,后来请求大神帮忙,发现了一个好用的工具,这里把具体的使用过程记录下来。[root@pc160 ~]# parted /dev/sdaGNU Parted 3.1使用 /dev/sdaWelcome to GNU Parted! Type 'help' to view a list of commands.(parted...
2018-11-30 10:28:47
4412
原创 linux制作本地镜像
1. 前提条件:有安装linux系统的iso2. 添加yum文件:touch /etc/yum.repos.d/iso.repo[iso]name=CentOS-$releasever - Mediabaseurl=file:///centos-iso/enabled=1gpgcheck=1gpgkey=file:///centos-iso/RPM-GPG-KEY-redhat-release3....
2018-02-27 17:32:03
2124
原创 ffmpeg转码
ffmpeg转码后,文件不能正常解码,缺少参数ffmpeg -i ./dir_nologo/$f -s 320x240 -vcodec libx264 -bsf:v h264_mp4toannexb -acodec copy 320p_videos/${f}
2017-10-26 19:12:11
383
原创 opengl, sdl, ffmpeg, opencv在centos下搭建
enviroment install:1. install openglyum install mesa*yum install freeglut*2. install SDL2-2.0.6:./autogen.sh./configuremake -jmake install3. install SDL2_ttf-2.0.14./au
2017-10-18 15:42:15
556
原创 SDL安装后不能正常工作的问题
最近两天一直在linux下搞SDL,折腾了两天,终于搞定;现象:SDL的程序在某些linux下可以正常工作,但在另外一些linux下不能正常工作,具体表现为文字和图像不能同时显示,只要同时显示,必定会报segment fault。最后查明原因,没有安装opengl的库,需要安装,具体详见:原文地址:http://blog.sina.com.cn/s/blog_45ca7a550
2017-10-18 15:15:24
729
原创 vnc的两种配置方法及解决vnc连不上的情况
第一种:直接配置普通桌面修改/root/.vnc/xstartup文件#!/bin/shunset SESSION_MANAGER#unset DBUS_SESSION_BUS_ADDRESSexec /etc/X11/xinit/xinitrcexec /usr/bin/mate-session &exec /usr/bin/gnome-termina
2017-10-17 10:35:01
58267
1
原创 ffmpeg实现YUV420缩放
读取YUV文件,然后实现将YUV视频缩小,直接上code:#include #include #include #include #include typedef struct{ unsigned int height; unsigned int width; unsigned long bufferSize; unsigned char *buff
2017-09-29 16:34:14
2569
转载 shell中各种括号的作用()、(())、[]、[[]]、{}
1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些shell不支持,
2017-09-28 14:20:32
263
原创 shell 数组赋值
shell编程,给数组赋值及两个数组初始化与比较#!/bin/shoutput_files=( $(cat outfiles) )for (( i = 0; i < ${#output_files[@]}; ++i )); do echo "ar[$i] = ${output_files[i]}"; doneinput_files=( $(cat files) )f
2017-09-22 14:07:49
10576
2
原创 自定义makefile
随着技术的不断积累,发现有很多知识有必要分享一下,在此先分享一下Makefile的使用:(一)单独模块的makefile该Makefile是我在使用的过程中逐渐积累下来的,相当于一个小的模块的Makefile,可以直接生成一个.so或.a文件# $< 第一个依赖文件# $@ 目标文件# $^ 所有依赖文件#定义gccCC := gccLD := gccMKDIR:=mkd
2016-08-26 19:25:26
851
原创 电脑无法访问非本地IP地址的方法
一般说来,如果电脑无法访问本地IP地址,可以通过添加路由的方法解决:sudo route add ip_addr gw local_gateway
2016-06-30 14:08:04
1189
转载 linux下设置共享目录
Linux系统的文件或目录的共享功能是非常强大,而且是非常灵活的,其对权限的控制可以做到非常的细致,当然如果你是通过命令行方式进行设置的 话,那么对于刚接触linux系统的用户来说将是一件十分头痛的事。但如果你所处的网络环境对安全要求不高的话,那么只要简单的几个步骤就可以建立一个 linux系统下的共享文件夹了。下面以ubuntu为例分步骤说明:安装samba和smbfs:sudo apt
2016-06-27 17:54:54
33332
转载 关于spinlock和mutex的性能差异
转自:http://www.cnblogs.com/diyunpeng/archive/2011/06/07/2074059.html锁机制(lock) 是多线程编程中最常用的同步机制,用来对多线程间共享的临界区(Critical Section) 进行保护。Pthreads提供了多种锁机制,常见的有:1) Mutex(互斥量):pthread_mutex_***2) Sp
2015-12-18 21:50:09
1861
转载 内核态和用户态通讯知识收集
在一台运行 Linux 的计算机中,CPU 在任何时候只会有如下四种状态:【1】 在处理一个硬中断。【2】 在处理一个软中断,如 softirq、tasklet 和 bh。【3】 运行于内核态,但有进程上下文,即与一个进程相关。【4】 运行一个用户态进程。 1. Linux中的进程间通信机制源自于Unix平台上的进
2015-11-19 20:31:30
612
原创 list_head使用
list_head在内核中的实现:list.h文件源码#ifndef _LIST_H#define _LIST_H#define _INLINE_ static inlinestruct list_head { struct list_head *next, *prev;};#define LIST_HEAD_INIT(name) {&(name), &(name)
2015-11-19 10:26:33
513
原创 python实现文本分析并执行linux命令
本文主要实现一个简单的python脚本,将使用git commit误操作,导致想文本库中添加了过多的.o文件,现在通过脚本删除脚本实现方式:import osdef generate_log(): os.system("git status >> log ")def delete_log(): os.system("rm log")def print_words
2015-11-17 09:18:29
1343
原创 centos更新镜像源问题
最近新安装了centos,但是在更新镜像时,总是出错,折腾了1个多小时终于解决了。问题描述:按照网上说的方法,下载新的yum镜像文件****.repo, 然后使用yum clean all,然后yum makecache结果显示:file:///media/CentOS/repodata/repomd.xml: [Errno 14] Could not open/read file:/
2015-11-16 20:17:34
2231
转载 共享内存陷阱和分析
所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。本文详细分析了常见的Linux共享内存陷阱,希望对大家有所帮助。AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术所谓共享
2015-10-16 23:21:12
829
转载 进程间通信-共享内存
一、IPC(Inter-Process Communication,进程间通信)对象的介绍System V 的IPC对象有共享内存、消息队列、信号灯。注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都有唯一的名字,称为"键"(key)。通过"键",进程能够识别所用的对象。"键"与IPC对象的关系就如同文件名称于文件,通过文件名,
2015-10-16 22:05:17
432
转载 gdb使用
转自:http://blog.youkuaiyun.com/qibaoyuan/article/details/6116265在gdb设置:set print pretty on ===========================其他七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set p
2015-10-16 13:36:33
371
原创 MD5校验
(一)来自:http://www.cnblogs.com/zhenjing/p/openssl.htmlOpenSSL http://www.openssl.org/ OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL 的密码算法库包含多种加密算法的实现,可单独应用。OpenSSL 下载:http://www.ope
2015-10-15 12:58:08
640
转载 epoll 的accept , read, write(重要)
在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:* EAGAIN: 再试一次* EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block* perror输出: Resource temporarily unavailable
2015-10-12 22:36:56
609
转载 fedora 使用音乐播放器
因为安装环境的不同,Fedora在安装后会安装不同的软件包。通常在安装的时候有多种选择: 1、桌面环境: 适合个人日常使用,安装包含办公软件(Fedora 默认安装Open Office)、娱乐影音软件,此版本不会默认不会安装source包,经常会在安装其他软件的时候,提示找不到: build 文件。 2、开发环境: 适合软件开发人员使用,不会安装办公软
2015-10-11 18:51:22
1600
转载 linux下select使用
在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待) 从 sel
2015-10-08 15:32:12
1004
原创 各种二分查找算法总结
1. 最基本的二分查找算法:在已排好序的vector中查找是否存在targetbool findData(vector &nums, int target){ if(nums.size()==0) return false; int low=0; int high=nums.size()-1; int mid; while(low<=high){ mid=(low+hig
2015-10-03 17:12:48
524
转载 sendmsg和recvmsg
已经工作了接近一年的时间,工作之余也只能看看书,了解一下相关的技术细节,在网络设备公司不可避免的要和socket打交道,但通常都是调用公司封装好的接口,没有去考虑这些封装背后的工作,回过头来看真的觉得进步很小,我只能逼自己看看书,看看一些好的代码。sendmsg和recvmsg这两个接口是高级套接口,这两个接口支持一般数据的发送和接收,还支持多缓冲区的报文发送和接收(readv和sendv
2015-09-27 20:31:46
3956
原创 linux多进程通信
1. 信号量机制实现进程通信:先看一个例子摘自:http://blog.chinaunix.net/uid-23215128-id-2938280.html使用sem_open,sem_unlink,sem_getvalue,sem_post,sem_wait,sem_close,等信号量机制1. sem_sync.h#ifndef _SEM_SYNC_
2015-08-25 17:14:50
635
原创 Majority Element I, II
Majority ElementGiven an array of size n, find the majority element. The majority element is the element that appears more than⌊ n/2 ⌋ times.You may assume that the array is non-empty and
2015-08-21 10:38:43
371
转载 C++RTTI强制转型
C 风格(C-style)强制转型如下:(T) expression 或T(expression) //函数风格(Function-style)两种形式之间没有本质上的不同。对于具有转换的简单类型而言C 风格转型工作得很好。然而,这样的转换符也能不分皂白地应用于类(class)和类的指针。ANSI-C++标准定义了四个新的转换符:reinterpret_cast, stati
2015-08-20 19:55:10
476
原创 自动产生多个随机网址
#include#include#include#include#includeusing namespace std;int generateAddr(char * buf, int wordCount){ int idx=0; int wordSize=0; int tmp; strcpy(buf, "http
2015-08-20 09:33:11
2249
转载 字符串hash函数
基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。在处理大规模字符串数据时,
2015-08-19 21:23:34
434
原创 多线程实现对同一个或多个文件的读写操作
程序用途:实现多个线程对同一文件的读写操作程序代码:test.c/*该程序在Ubuntu下测试通过*/#include#include#include#include#include#include#includeconst int buf_size=1024;const int buf_size2=1024*2;/*获取线程的id必须使用syscall,不能
2015-08-19 13:25:56
18479
原创 最低公共祖先Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes
2015-08-19 11:07:54
340
转载 二叉树后续遍历算法
二叉树后续遍历非递归算法:void BT_PostOrderNoRec(pTreeT root) { stack s; pTreeT pre=NULL; //pre指针是重点 while ((NULL != root) || !s.empty()) { if (NULL != root) { s
2015-08-18 21:57:34
758
原创 getopt_long使用
linux系统命令解析接口:#include #include #include /* 程序的名称。*/const char* program_name;/* 将程序使用方法输出到STREAM中(通常为stdout或stderr),并以EXIT_CODE为返回值退出程序。函数调用不会返回。*/void print_usage (FILE* stream, int exit_co
2015-08-17 16:46:05
408
原创 makefile使用教程
来自:http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/A Simple Makefile TutorialMakefiles are a simple way to organize code compilation. This tutorialdoes not even scratch the surface o
2015-08-17 14:41:15
792
原创 n皇后问题
N-Queens:来自leetcodeFollow up for N-Queens problem.Now, instead outputting board configurations, return the total number of distinct solutions.计算机n皇后问题的不同放法:class Solution {public:
2015-08-13 21:15:42
526
转载 linux中fork()函数详解(原创!!实例讲解)
转自:http://blog.youkuaiyun.com/jason314/article/details/5640969一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函
2015-08-11 14:59:18
282
xxl-job与hadoop同时使用
2020-01-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人