Linux
文章平均质量分 64
来灵
抬头走路,低头做事。
展开
-
linux环境中编译exosip2和osip2库
本文简要介绍了在linux环境中,如何编译libosip2和libexosip2库,并指定库的安装目录。原创 2023-02-23 16:30:51 · 1638 阅读 · 1 评论 -
linux系统离线安装docker(分步法&一键法)
在有的项目场景中,服务器是不允许连接外网的。此时若想在服务器上安装部署docker容器,就不能采用在线方式了,不过可以采取离线方式进行安装。本文介绍了两种离线安装docker的办法:分步安装法和一键安装法。原创 2022-11-19 09:57:13 · 30528 阅读 · 22 评论 -
centos7.9安装docker,docker安装使用mysql
本文介绍了在centos7.9上如何安装和启用docker,在docker如何安装和使用镜像及容器(以mysql为例),并附带docker常用命令及注释。原创 2022-10-20 16:30:04 · 1112 阅读 · 1 评论 -
Centos7.9安装mysql5.7.35记录
本文记录了在Centos7.9上,将原有的mysql数据库卸载,并安装配置mysql5.7.35的详细过程。原创 2022-08-20 17:45:39 · 459 阅读 · 0 评论 -
记录谷歌gn编译时碰到的一个错误“I could not find a “.gn“ file ...”
使用谷歌GN编译程序,碰到“I could not find a ".gn" file ...”的解决办法原创 2022-08-03 15:40:00 · 2003 阅读 · 1 评论 -
ubuntu使用websocketpp客户端,碰到 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: 没有那个文件或目录
ubuntu使用websocketpp客户端,碰到 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S及解决过程记录。原创 2022-07-19 15:04:30 · 2898 阅读 · 0 评论 -
记Ubuntu18.04将gcc4.8.5升级到gcc7
记Ubuntu18.04将gcc4.8.5升级到gcc7原创 2022-07-13 09:20:49 · 1317 阅读 · 0 评论 -
arm系统上电时,自启动和监控应用程序解决方案
本文介绍在arm系统上,上电自启动应用程序,并对应用程序进程进行监控的解决方案。原创 2022-07-08 16:21:58 · 565 阅读 · 0 评论 -
常用makefile模板
makefile常用模板# 指令编译器和选项# GCC编译选项CFLAGS参数# 选项 说明# -c 用于把源码文件编译成 .o 对象文件,不进行链接过程# -o 用于连接生成可执行文件,在其后可以指定输出文件的名称# -g 用于在生成的目标可执行文件中,添加调试信息,可以使用GDB进行调试# -Idir 用于把新目录添加到include路径上,可以使用相对和绝对路径,“转载 2022-05-09 18:38:31 · 649 阅读 · 0 评论 -
centos7.9使用gn+ninja编译程序
1 编译ninja和gn请参见上篇文章centos7.9编译安装构建系统gn+ninja2 编译demo程序当ninja和gn都编译安装好之后,就可以来感受一下它们的编译乐趣了。下边以gn目录examples下的例子验证一下。1,进入代码路径cd ./gn/examples/simple_build2,查看simple的代码文件ll –a3,查看simple代码目录树tree4,使用gn和ninja编译simplegn gen out/ninj原创 2022-05-07 17:07:19 · 991 阅读 · 0 评论 -
centos7.9编译安装构建系统gn+ninja
1前言环境Win10主机+VMware15.5+Centos7.9登录用户:rootNinja 是Google推出的注重速度的构建工具,一般在Unix/Linux上的程序通过make/makefile来构建编译,而Ninja通过将编译任务并行组织,大大提高了构建速度。Gn,其详细名称猜测为generate ninja,是专用于生成ninja文件的元构建系统。2准备工作2.1准备编译环境yum -y install git automake libtool2.2编译安...原创 2022-05-05 19:05:13 · 3689 阅读 · 2 评论 -
Centos7.9编译安装clang12.0.0
环境Win10主机+VMware15.5+Centos7.9登录用户:root从LLVM官网文档得知,编译clang12.0.0,需要依赖以下几个组件Getting Started with the LLVM System — LLVM 12 documentation原创 2022-04-29 16:27:19 · 6135 阅读 · 11 评论 -
【非常重要】centos7 防火墙【firewall-cmd 常用命令】
参考常用命令:https://www.cnblogs.com/klvchen/p/10063875.html如果centos系统未安装防火墙,请参考:CentOS 7上安装配置FirewallD防火墙详解https://www.linuxidc.com/Linux/2018-11/155155.htm更加全面的命令【如果禁止某个ip或ip端访问参考】:https://www.cnblogs.com/Crazy-Liu/p/13527997.html# 开启防火墙systemctl start转载 2022-03-04 17:05:05 · 297 阅读 · 0 评论 -
linux下core dump【总结】
1、前言 一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事鄙视的眼神,我依然在目。后来学会了从core文件中分析原因,通过gdb看出程序挂再哪里,分析前后的变量,找出问题的原因。当时就觉得很神奇,core文件是怎么产生的呢?难道系统会自动产生,可是...转载 2020-02-24 13:03:27 · 293 阅读 · 0 评论 -
makefile琐碎
Makefile选项CFLAGS,LDFLAGS,LIBSCFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过...原创 2020-02-20 17:36:44 · 187 阅读 · 0 评论 -
linux 监测网线插拔状态
简介在数据传输过程中出现网络偶然间断开的情况,考虑是否为网线接触不良。因此写一个程序监测网络的硬件状态。程序的主要原理是参考ifconfig命令。当网线连接时执行ifconfig命令会打印“RUNING”字符串。当网线断开时则不会打印。参考ifconfig的源码实现了如下代码。代码会将网络状态写入当前文件夹下的net.txt文件中。#include <sys/socket.h...转载 2019-11-08 17:37:35 · 1223 阅读 · 0 评论 -
centos7安装MySQL 8
在centos7上安装mysql 8,有两种方式:一,在线安装;二,下载安装包进行安装。一,在线安装碰到不少坑1,从官网下载mysql80-community-release-el7-3.noarch.rpm2,yum localinstallmysql80-community-release-el7-3.noarch.rpm3,yum -y install m...原创 2019-10-16 13:42:44 · 4783 阅读 · 1 评论 -
centos虚拟机环境编译glog
1,从官网下载gloghttps://github.com/google/glog2,解压unzip glog-master.zip3,编译环境配置(请务必按照如下命令执行,否则会碰到附录描述的编译错误,折腾了我一个上午的时间)yuminstall autoconf automake libtool4,编译&安装cd glog-master./autog...原创 2019-10-12 11:50:35 · 1110 阅读 · 2 评论 -
Linux下 ln 命令详解
这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接。这个命令最常用的参数是-s,具体用法是:sudo ln -s 源文件 目标文件举例:当前目录是/local,而我经常要访问/usr/local/linux/work那么我就可以使用在local下建立一个文件linkwork,然...转载 2019-10-10 15:35:39 · 275 阅读 · 0 评论 -
用C读取INI配置文件
在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取.ini配置文件内容,但是在Linux平台上就一筹莫展了。为了解决该问题,打算用C来读取.ini,即可不受平台的限制了。#define CONF_FILE_原创 2011-09-24 20:07:15 · 34525 阅读 · 12 评论 -
用select模式收发处理数据(跨平台)
本Demo程序模拟C/S传输数据。采用select模式,分别实现了一个客户端小程序和服务端小程序。已在VC2005和Fedroa 13下测试通过。因时间有限,功能简单,欢迎交流,学习! main.cpp#include "Sock.h"/*** 传输数据格式* ___________ _____________* | |原创 2011-08-26 21:31:48 · 4510 阅读 · 0 评论 -
Linux平台用C++实现事件对象,同步线程
前文在Win32平台上用C++实现了事件对象Event,对线程进行同步,以达到期望目的。这次在Linux平台上实现与之类似的事件对象。与其相关的一组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthread_cond_wait,pthread_mutex_unlock,pthread_cond_broadcast,pt原创 2011-12-17 19:44:46 · 7054 阅读 · 1 评论 -
Linux平台上用C++实现多线程互斥锁
在上篇用C++实现了Win32平台上的多线程互斥锁,这次写个Linux平台上的,同样参考了开源项目C++ Sockets的代码,在此对这些给开源项目做出贡献的斗士们表示感谢! 下边分别是互斥锁类和测试代码,已经在Fedora 13虚拟机上测试通过。Lock.h#ifndef _Lock_H#define _Lock_H#include //锁接口类clas原创 2011-12-09 20:14:12 · 16527 阅读 · 5 评论 -
交叉编译之海思3515开发笔记
宿主机(host) :编辑和编译程序的平台,这里用的是基于X86的PC机,在安装了Windows XP系统的个人PC上编辑协议栈程序和模拟程序,使用VS2005开发工具。在个人PC上,将协议栈程序和模拟程序编译通过,测试无问题后,通过ftp上传到基于X86的编译服务器PC机,操作系统为Linux,进行交叉编译。交叉编译成功后,在指定目录下生成下列文件:libstackxxx.sox原创 2011-12-13 18:13:42 · 8837 阅读 · 0 评论 -
Linux平台用C++实现信号量,同步线程
使用Linux平台上现有的信号量sem_t相关的一组API,可以方便地进行线程同步。现在用pthread_mutex_t和pthread_cond_t相关的一组API实现信号量机制。这组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthread_cond_signal,pthread_mutex_unlock,pthr原创 2011-12-23 22:25:10 · 5212 阅读 · 0 评论 -
Linux安装Qt4.6.3过程记录
安装环境 主机:Windows XP虚拟机:Sun VirtualBox 3.0.6客户机:Fedora 缘由:在VC2005集成环境中用Qt4.6.3编写的Qt代码,现要在类Unix平台上编译运行该Qt代码。虚拟机上将客户机安装好之后,Fedora系统自带Qt4.6.2,需要对其进行升级。在其它版本的类unix系统之下安装Qt,应该与该过程类似的吧。 一:卸载旧版...原创 2010-09-11 20:21:00 · 4776 阅读 · 0 评论 -
将Linux的信号量sem_t封装成事件对象
将信号量sem_t相关的一组API封装成Win32平台上的事件对象类之后,在Linux平台上就可以像使用事件对象那样,方便地进行线程同步了。class CEventImpl{protected: /* 创建匿名信号量 `bAutoReset true 人工重置 false 自动重置 */ CEventImpl(bool manualReset);原创 2011-12-24 20:51:54 · 4017 阅读 · 0 评论 -
/usr/include/asm/errno.h
以下来自linux 的内核代码中的/usr/include/asm/errno.h#ifndef _I386_ERRNO_H#define _I386_ERRNO_H #define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRC原创 2012-01-30 18:58:08 · 2678 阅读 · 0 评论 -
Linux平台用C++封装线程读写锁
在Linux平台上已经有现成的线程读写锁pthread_rwlock_t以及相关API,现将这些API封装成与Win32平台上相同的接口,以便于编写跨平台程序。这些API包括pthread_rwlock_init,pthread_rwlock_rdlock,pthread_rwlock_tryrdlock,pthread_rwlock_wrlock,pthread_rwlock_trywrlock原创 2011-12-29 20:55:26 · 7268 阅读 · 0 评论 -
fedora 17 中安装libperl-dev
在fedora 17中需要编译linphone3.5.2,从官方网站下载到代码点击打开链接,解压后./configure提示:configure: error: Package requirements (gtk+-2.0 >= 2.18.0 gthread-2.0) were not met:于是sudo yum install libperl-dev又提示:No p原创 2013-01-25 14:51:07 · 2639 阅读 · 0 评论 -
AF_INET域与AF_UNIX域socket通信原理对比
来自:http://blog.csdn.net/sandware/article/details/409234911. AF_INET域socket通信过程典型的TCP/IP四层模型的通信过程。发送方、接收方依赖IP:Port来标识,即将本地的socket绑定到对应的IP端口上,发送数据时,指定对方的IP端口,经过Internet,可以转载 2017-07-18 09:38:39 · 1038 阅读 · 0 评论 -
如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
http://www.oschina.net/translate/valgrind-memcheck系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。所以,在实践中会用到很多工具来调试内存问题。在本文中,我们将讨论最流行的开源内存管理框架 VALGRIND转载 2017-08-15 16:19:16 · 429 阅读 · 0 评论 -
使用gdb和core dump迅速定位段错误
http://blog.csdn.net/wangpengqi/article/details/12998151一、什么是core dump core:内存、核心的意思; dump:抛出,扔出; core dump:前提:当某程序崩溃的一瞬间,内核会抛出当时该程序进程的内存详细情况,存储在一个名叫core.xxx(xxx为一个数字,比如core转载 2018-01-31 16:36:00 · 810 阅读 · 0 评论 -
epoll简介
http://www.cnblogs.com/haippy/archive/2012/01/09/2317269.htmlepoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的转载 2018-01-19 16:41:44 · 350 阅读 · 0 评论 -
ldconfig命令用法笔记
ldconfigldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文...转载 2019-10-10 15:34:46 · 263 阅读 · 0 评论 -
epoll精髓
<br />在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。<br />相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#define __FD_SETSIZE 1024<br />表示select最多同时监听1024转载 2010-09-21 14:49:00 · 956 阅读 · 0 评论