- 博客(89)
- 资源 (26)
- 收藏
- 关注
转载 转载:Linux 运维工程师入门的10个基本技能点
1、linux系统基础这个不用说了,是基础中的基础,连这个都不会就别干了。2、网络服务服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。LAMP和LNMP是必须要熟练,我所指的不是光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才...
2018-07-15 11:18:19 4350
转载 转载:C语言善用断言(assert),提高你的Debug能力
断言可以对在系统中隐藏很深,用其它手段极难发现的问题进行定位,并且输出信息很详细,可以很好地解决大多数C语言编译器错误信息输出不详细的问题。断言是对某种条件进行检测,若条件成立则无反应,否则程序执行到断言处终止,同时输出为成立的条件。assert是一个宏定义,并不是函数。如#include <assert.h>//assert所在头文件void main(){int i = 9;...
2018-07-15 11:13:10 4076
原创 Wince通过注册表设置开机启动
wince 自动启动程序设置修改注册表[HKEY_LOCAL_MACHINE\init]“Launch80〃=”app.exe”“Depend80〃=hex:14,00,1e,00这个是设定启动顺序,launch后面的数字越大的越是后启动,Depend80后面的指定依赖项,为16进制,上面的语句表明依赖项为launch20 定义的device.exe和launch30中定义的gwes.exe, 注...
2018-07-13 21:43:52 4951
原创 Wince下倍福PLC开发环境搭建
VS2008,安装倍福提供的Beckhoff HMI 600 V1.2 SDK.rar安装注意事项:将SDK的安装组件中去掉了document才能安装成功否则报错:
2018-07-13 21:41:47 6406
原创 SCA100T STM32代码
SCA100T-D01是SCA100T系列中一款测量角度为30°的双轴倾角传感器芯片,产品基于3D-MEMS技术,能够提供仪表/仪器级别的水平测量性能。内部两感应元件的测量轴平行于安装平面且相互正交,低温度漂移性、高分辨率、低噪音以及稳健的设计使得SCA100T成为水平仪器的理想选择。村田的倾角传感器能更好地对抗振动影响,且能经受高达20000g的震动冲击。D01和D02两款测量范围和精度不同...
2018-07-13 21:27:57 7963 19
原创 Linux supervisor后台进程管理
sudo supervisorctlstatus: 查看当前运行的进程列表stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。start xxx: 启动某个进程restart xxx: 重启某个进程stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)stop all,...
2018-07-13 21:20:58 4166
原创 Linux exec函数
在Linux中要使用exec函数族。系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在 Linux中,它们分别是:execl,execlp,execle,execv,execve和execvp,下面我只以execlp为例,其它函数究竟与execlp有何...
2018-07-13 16:59:55 5039
原创 linux中C++关闭线程
1. 执行完成后隐式退出2. 由线程本身显示调用pthread_exit 函数退出;pthread_exit (void * retval) 3. 被其他线程用pthread_cance函数终止:pthread_cance (pthread_t thread) 解决办法:4. // 创建线程前设置 PTHREAD_CREATE_DETACHED 属性pthread_attr_t attr;pthr...
2018-07-13 16:59:51 7131
原创 linux下C++根据进程名字获取进程的进程号PID
#include <stdio.h>#include <sys/types.h>#include <dirent.h>#include <stdlib.h>#include <string.h> int find_pid_by_name( char* ProcName, int* foundpid){ DIR ...
2018-07-12 14:24:32 9077 1
原创 linux下C++根据pid关闭程序进程
#include<unistd.h>#include<signal.h>#include<sys/types.h>#include<sys/wait.h>main(){pid_t pid;int status;if(!(pid= fork())){printf(“Hi I am child process!\n”);sleep(10);return;...
2018-07-12 14:24:15 7817
原创 linux下C++ fork与全局变量
父子进程之间的变量是位于不同的地址空间的,子进程能继承父进程中的变量,但无论如何也修改也不会反映到父进程中,要想共享内存可以通过1.ipc中shmxxx2.mmap也就是说,fork中的子线程可以读取父线程的变量,但无法修改...
2018-07-12 14:24:00 5901
原创 Linux下C++的进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket) (1) 管道(pipe):管道允许一个进程和另一个与它有共同祖先的进程之间进行通信; (2) 命名管道(FIFO):类...
2018-07-12 14:23:56 6047
原创 Linux C++多线程编程时如何查看一个进程中的某个线程是否存活
使用pthread_kill函数检测一个线程是否还活着的程序,在linux环境下gcc编译通过,现将代码贴在下面:/******************************* pthread_kill.c *******************************/#include <stdio.h>#include <stdlib.h>#include <p...
2018-07-12 14:23:36 8686
原创 Ubuntu下Reading package lists... Error 解决方案
遇到该问题一般是Ubuntu安装源的问题,需要输入以下2个命令:1 sudo rm /var/lib/apt/lists/* -vf2 sudo apt-get update
2018-07-12 14:23:07 6922 1
原创 codeblocks编译时undefined reference to ""错误
可能的原因是:函数的声明和定义时,参数类型获取其他不符:
2018-07-12 14:23:00 5964
原创 linux某一进程占用socket句柄数量过多
使用Linux lsof命令查询,可以发现占用socket句柄数量太多,超过2048,导致工作不正常检查代码发现FTP相关代码有问题,操作结束后没有及时关闭句柄。修改代码,问题解决...
2018-07-12 14:22:45 8859 1
原创 centos中yum提示Another app is currently holding the yum lock
使用yum安装计划任务功能,结果提示:# yum -y install vixie-cronLoaded plugins: fastestmirror, refresh-packagekit, securityExisting lock /var/run/yum.pid: another copy is running as pid 25960.Another app is currently h...
2018-07-12 14:22:39 4474
原创 centos安装rz se命令
rz和se命令非常方便执行上传和下载,centos下可以直接用yum进行插件的安装:sudo yum install lrzsz -y
2018-07-11 08:03:22 5377
转载 转载:详解5个被误解的CPU/GPU概念
提起多核与多线程,很多人首先会想到手机中的多核大战,而忘记了多线程技术,从单核到双核到四核再到8核,似乎多核才是处理器发展的王道,但是为什么到了8核之后多核之战就打住了呢?多线程技术到底有没有优势? 从英特尔1971年推出第一款商用微处理器4004到现在,处理器已经走过了三十多年的历程,目前,CPU处理器已经从服务器、PC发展到嵌入式、工控、消费、医疗等各个领域,但是从总体架构上来看,CP...
2018-07-11 08:03:11 4608
原创 C#关闭当前线程
System.Threading.Thread.CurrentThread.Abort();或者 Process.GetCurrentProcess().Kill()或者 Application.ExitThread();或者 Application.ExitThread()
2018-07-11 08:02:57 16194 2
原创 C# 多线程访问共同资源 lock
先来看看执行过程,代码示例如下: private static object ojb = new object(); lock(obj) { //锁定运行的代码段 } 假设线程A先执行,线程B稍微慢一点。线程A执行到lock语句,判断obj是否已申请了互斥锁,判断依据是逐个与已存在的锁进行object.R...
2018-07-11 08:02:48 5427 1
原创 C#创建带参数的线程
.NET framework定义一种委托叫做ParameterizedThreadStart, 它可以接收一个单独的object类型参数:public delegate void ParameterizedThreadStart (object obj);之前的例子看起来是这样的:class ThreadTest {static void Main() {Thread t = new Thread...
2018-07-11 08:02:36 4979
原创 C# 报错microsoft.office.interop.excel,version=15错误
此问题有3种可能:1、目标电脑excel版本过老,建议使用microsoft.office.interop.excel,version=14或者更早的引用2、如果是32位系统,目标平台改成x863、引用的Microsoft.Office.Interop.Excel.dll需要放到目标路径下面,即在代码里添加引用时,即需要使用目标路径下的dll...
2018-07-11 08:02:28 10571
原创 VS2012: No exports were found that match the constraint
解决方法:找到目录:C:\Users\你的用户名或计算机名\AppData\Local\Microsoft\VisualStudio\11.0并将文件夹ComponentModelCache删掉,问题就解决了
2018-07-11 08:02:08 4709
原创 C#中out和ref之间的区别
首先:两者都是按地址传递的,使用后都将改变原来参数的数值。其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,ref是有进有出,out是只出不进...
2018-07-11 08:01:57 4098
原创 C# NPOI读写Excel
POI读取Excel有两种格式一个是HSSF,另一个是XSSF。 HSSF和XSSF的区别如下: HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel...
2018-07-11 08:01:50 6386
原创 linux下C++移动文件和文件夹 复制文件
功能: 给一个文件重命名用 法: int rename(char *oldname, char *newname);头文件:#include <stdio.h>说明:用该函数可以实现文件移动功能,把一个文件的完整路径的盘符改一下就实现了这个文件的移动。具体参见下面的程序示例说明。#include <stdio.h>int rename(const char *oldpath...
2018-07-10 13:42:09 17020 3
原创 Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
下面程序,递归读取某文件夹及其子文件夹下所有文件名:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dirent.h>#include <unistd.h>int readFileList(char *basePath){ DIR *dir; ...
2018-07-10 13:40:34 5301
原创 Linux下C++获取文件的大小和最近修改时间
Linux下获取文件的大小(byte)和最近修改时间(时间是指从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数)#include<stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int main(){ FILE * fp; i...
2018-07-10 13:39:30 9623 3
原创 Codeblocks cannot find -lmsqlclient错误解决
添加相应的MySQL库及头文件路径,库的路径为 /usr/lib/x86_64-Linux-gnu/libmysqlclient.a:
2018-07-10 13:34:13 5220
原创 codeblocks 多线程编程时出现:对pthread_create未定义的引用的解决方法
由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc pthread.c -lpthread -o pthread下面是codeblocks的修改:设置>>编译器设置>>全局编译器设置>>链接器设置:左侧链接库加入:/usr/li...
2018-07-10 13:32:50 4907 1
原创 linux环境mysql的lmysqlclient找不到的解决办法
无意间在/usr/local/lib/mysql下发现了/usr/local/lib/mysql# lslibdbug.a libmyisam.a libmysqlclient.a libmysqlclient.so libmysqlclient.so.15.0.0 libmysys.alibheap.a libmyisammrg.a libmysqlclient.la...
2018-07-10 13:25:36 10232
原创 Ubuntu和centos下Codeblocks 配置 mysql
Ubuntu下,使用了codeblocks,有各种编写代码的方便之处,但是遇到类似MySQL这样的文件,编译时需要附带链接库等,就很麻烦了,以下是搜到的可以顺利编译Mysql的解决方法: 进入 project ------> build options a. compiler settings tab -------> other options: 添加 `mysql...
2018-07-10 13:22:16 4461
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人