学Linux,上红联!
Linux系统教程
您的位置: Linux系统教程 > Linux开发 >
  • 关于Linux下alsa录音程序移植出现的奇怪问题

    2017-03-19 - 以下程序是可以正常运行的: #include alsa/asoundlib.h #include math.h #include pthread.h #include string.h #define BUFFERSIZE 4096 #define PERIOD_SIZE 1024 #define PERIODS 2 #define SAMPLE_RATE 16000 #define CHANNELS 1 #define FSIZE 2*CHANN...

  • Linux/Mac下执行某脚本自动输入密码

    2017-03-19 - 前提条件: 安装了expect (mac: brew install expect) 当我们在终端启动MySQL服务,或者其他一些服务的时候, 如果权限不够, 需要赋予root权限, 如果频繁启动和关闭,都需要输入密码, 让人感觉很烦. 建立一个自动启动服务的脚本,该脚本能实现: 1.无论脚本在哪里...

  • 使用SkyEye模拟ARM Linux

    2017-03-16 - 对于希望学习 ARM 汇编的同学而言, 购买 ARM 开发板进行板上实测无疑是一个有效的方法,不过购买 ARM 开发板需要一笔费用,而且每次测试都需要连接开发板,比较麻烦。这里介绍一个 ARM 模拟器SkyEye,通过 SkyEye 我们可以直接在一台 PC 上完成 ARM 汇编程...

  • Thrift在Windows及Linux平台下的安装和使用示例

    2017-03-16 - thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的RPC(远程服务调用)框架。 本文主要目的是分别介绍在Windows及Linux平台下的Thrift安装步骤,以及实现一个简单的demo演示Thrift的使用方法。更多Thrift原理留在以后再行介绍。 thr...

  • 如何编写和使用自定义的Shell函数和函数库

    2017-03-15 - 在 Linux 系统下,Shell 脚本可以在各种不同的情形下帮到我们,例如展示信息,甚至 自动执行特定的系统管理任务,创建简单的命令行工具等等。 在本指南中,我们将向 Linux 新手展示如何可靠地存储自定义的 shell 脚本,解释如何编写 shell 函数和函数库,以...

  • linux中gdb的可视化调试

    2017-03-15 - 今天get到一个在linux下gdb调试程序的技巧和大家分享一下!平时我们利用gcc进行编程,进行程序调试时,观察程序的跳转等不是这么直观。都是字符的界面! 但是如果我们在编译连接时上加了-g命令生成的可执行文件,用gdb -tui -q p2psrv(要debug的命令),就可...

  • 将编写的C++文件在linux下编写so文件

    2017-03-15 - 1,需要的头文件和cpp 文件 ==========test.h=========== #ifdef __cplusplus // 注意,这里是双下划线! extern C { #endif class Test{ //有类写类,没有就不写了 public: int hello(int i); }; int helloT(int j); #ifdef __cplusplus } #endif =========...

  • linux不指定LD_LIBRARY_PATH运行程序

    2017-03-14 - 在windows中,只要将动态库DLL跟可执行程序放在同一个目录,程序在运行时,就能找到DLL。然而,在Linux中,必须指定动态库的路径,程序才能找到动态库,即使可执行程序和动态库在同一个目录。举个例子,编写一个计算库,支持加减乘除,代码如下: calc.h ###...

  • [终端]修改字符输入输出方式

    2017-03-14 - 问题:希望每输入一个字符,终端就能得到,而不需要输入CR或者LF字符。一开始觉得需要设置标准输入为无缓冲模式,但是我使用的是read函数,总之没有成功。然后我把read设置成非阻塞,依然没用。然后我找到了下面的方法: 《Linux高级程序设计》默认方式下,...

  • linux内核红黑树运用小实例

    2017-03-13 - Linux内核版本linux-3.10.36 在linux内核源码中,红黑树是一个比较独立的模块,很容易将其剥离出来,拿到应用层使用。 结构 linux内核的rb_node结构体 struct rb_node { unsigned long __rb_parent_color; struct rb_node *rb_right; struct rb_node *rb_lef...

  • linux下实现自动部署tomcat的脚本

    2017-03-12 - 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务、备份war包、上传新的war包、启动服务。索性就写了一个自动部署的脚本。 脚本如下autoDeploy.sh: #! /bin/sh echo ####################开始自动部署#################### path=`pwd` #当前...

  • 漫画赏析:Linux内核到底长啥样

    2017-03-12 - 今天,我来为大家解读一幅来自 TurnOff.us 的漫画 InSide The Linux Kernel 。 TurnOff.us 是一个极客漫画网站,作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫...

  • linux下使用libxml2实现对xml文件的读取及查询

    2017-03-11 - 由于项目需要,这两天在用C++做XML文件解析的工作。在Linux下有个很方便的操作xml文件的库libxml2,它提供了一套创建和查询xml文件的C语言的接口。这篇博客主要介绍如何使用libxml2读取并解析xml文件。 下载并安装libxml2 下载地址:ftp://xmlsoft.org/libxm...

  • Linux下获取线程TID的方法——gettid()

    2017-03-11 - 如何获取进程的PID(process ID)? 可以使用: #include unistd.h pid_t getpid(void); 通过查看头文件说明,可以得到更详细的信息: find /usr/include -name unistd.h /usr/include/asm/unistd.h /usr/include/bits/unistd.h /usr/include/linux/unistd.h...

  • shell-命令行打开程序的进化

    2017-03-09 - 通过命令行打开应用很酷的,当删掉快捷方式后,别人拿到你的电脑连应用都打不开。但是这一个简单的脚本还是经过了几代改进。 1代 只是实现打开程序的功能 #!/bin/bash echo 1.eclipse 2.firefox q:quit read -t 40 -p input choice: choice case $choice in...

  • 获取内存NUMA信息

    2017-03-09 - NUMA(Non-uniform memory access)是一个高级玩意,咱先来看看维基上的定义: is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can...

  • Linux下UART串口的测试小程序

    2017-03-08 - Linux下关于关于UART方面的东西,其实很多芯片厂家已经帮我们把内核驱动模块给做好并加载进去了,这个代码是我参考IBM上的应用测试代码: #include sys/types.h #include sys/stat.h #include fcntl.h #include termios.h #include stdio.h #define BAUDRATE...

  • Linux创建一个空洞文件

    2017-03-08 - 在使用迅雷下载的时候,查看迅雷新建的文件发现该文件大小和要下载的文件一样大。 其实迅雷事先在本地创建了一个与要下载一样大的临时文件,然后后面通过多线程方式。 从网络上下载这个文件,一点点填入那个临时文件。 创建空洞文件代码如下: #include stdi...

  • Linux内核log等级与printk打印消息控制

    2017-03-07 - 预定义的内核log等级 // include/linux/kern_levels.h #define KERN_SOH \001 /* ASCII Start Of Header */ #define KERN_SOH_ASCII \001 #define KERN_EMERG KERN_SOH 0 /* system is unusable */ #define KERN_ALERT KERN_SOH 1 /* action must be taken i...

  • Linux内核错误码与错误指针

    2017-03-07 - 一,内核错误码 在调用内核api发生异常时通常会返回一个负数值,不同的出错情况,负数值也不同,这些数值就是内核中预定义的错误码(errno),了解这些错误码的含义可以让我们推测出错的原因,从而提高开发效率。 errno-base.h中定义了内核中常见的错误码: /*...

  • Linux内核编译特别注意Tab键的使用

    2017-03-07 - 1.Makefile文件的使用(初学者要特别小心): vim Makefile(创建Makefile文件),内容如下: obj-m := hello.o KDIR := /lib/modules/2.6.32-279.el6.i686/build all: [ tab键 ]make -C $(KDIR) M=$(PWD) modules (这是最简单的Makefile一个例子,但是如果初...

  • linux下strncasecmp的实现

    2017-03-07 - 看来strcpy的实现确实是太low了,腾讯的笔试字符串知识点考察就变了。 Linux下不区分大小写的字符串比较函数原型: int strncasecmp(const char *s1, const char *s2, register size_t n); 返回值: 如果相等返回0 如果s1s2,返回正整数 如果s1s2,返回负整...

  • linux inotify功能和用法

    2017-03-07 - 了解inotify 当内核中文件系统发生变化时,inotiy会将监控的事件传递给用户,比如创建、删除、读、写等。 inotify的使用,创建一个文件描述符,添加一个或者监控器watch,然后使用read()方法,从文件描述符中获取事件 信息。read()是以堵塞的方式,进行读取时...

  • 浅述内核中“挂起到空闲”的实现

    2017-03-06 - 简介 Linux 内核提供了多种睡眠状态,各个状态通过设置系统中的不同部件进入低耗电模式来节约能源。目前总共有四种睡眠状态,分别是:挂起到空闲、加电待机、挂起到内存和挂起到磁盘。这些状态分别对应 ACPI 的 4 种状态:S0,S1,S3 和 S4。挂起到空闲是纯...

  • Linux内核分析(二)—mykernel内核部署及简单时间片轮转程序分析

    2017-03-06 - 一、部署mykernel 系统:Ubuntu 16.04 64位版本 前提条件:Git 以及部分其他原装Ubuntu中未添加的命令(本部署中涉及的命令应均可通过sudo apt-get install + 你想安装的命令) 部署方案及代码地址 按照孟宁老师的部署方案一步步执行即可完成部署。 需要注意...

  • Linux内核分析(一)——简单C程序汇编代码分析

    2017-03-06 - 本实验 代码库 ; 本文将通过一个简单的C语言程序(包含两层简单传值函数调用)分析其对应的汇编代码,从而初窥计算机在汇编指令层面上的执行过程。本文不涉及到编译器翻译C至汇编代码的过程,运行环境为64位linux系统; 一、von Neumann 结构 现代大多数计算...

  • python如何检查文件是否存在

    2017-03-06 - python是一种解释型、面向对象的高级语音。python的库非常多,而且使用起来很方便。 在python中可以引用os包,然后通过os.path.exists和os.path.isfile来判断文件是否存在。 第一种方法、使用os.path.exists 在python脚本中import os后就可以使用os.path.exi...

  • Linux下使用vscode编译、调试C/C++

    2017-03-05 - 1.安装 环境是Ubuntu gnome 16.10。可以用如下方式安装: 使用ubuntu-make安装流行IDE。命令为 umake ide visual-studio-code 从微软官网下载deb包(https://code.visualstudio.com/Download),自行安装。 2.配置 安装c/c++插件(微软官方插件)以支持cpp语...

  • 在Linux中使用VS Code编译调试C++项目

    2017-03-05 - 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项。 关于VS Code在Linux下的安装这里就不提了,不管是CentOS还是Ubuntu,如果不懂且搜Q足够的情况下,你会解决的。 一.前置知识gcc/g++...

  • Python访问HBase Demo

    2017-03-05 - 安装HBase Hbase是一个构建在HDFS上的分布式列存储系统,主要用于海量结构化数据存储。这里,我们的目标只是为Python访问HBase提供一个基本的环境,故直接下载二进制包,采用单机安装。下载后解压,修改配置文件,然后可以直接启动HBase了。所用系统版本为ub...

  • QT中实现二维码图片生成

    2017-03-04 - Linux环境下QT中实现二维码生成有两种方法,这两种方法都需要用到开源的代码--qrencode。第一种方法是下载qrencode源码后,将其移植到目标板子上,然后在程序中包含其路径进行使用;第二种方法是将qrencode源码添加到自己的程序中,直接调用使用。本文使用的...

  • Linux下TCP RST对poll事件的影响

    2017-03-03 - 一个发送窗口已满、接收窗口为空的套接字,收到TCP RST后(未收到TCP FIN),将触发POLLIN、POLLOUT、POLLRDHUP、POLLHUP、POLLERR事件。 相关代码: #include cassert #include cstdio #include siren/ip_endpoint.h #include siren/loop.h #include siren/...

  • Linux内核Container_of宏解析

    2017-03-03 - Container_of是Linux内核中一个很常用的宏,其作用为:用结构体成员指针获得结构变量本身的指针。这里来分析一下它的实现。 首先,该宏定义在Linux 内核 include/linux/kernel.h 中 /** * container_of - cast a member of a structure out to the containin...

  • linux下使用Scons构建自己的项目程序

    2017-03-02 - 原来简单介绍了一种项目自动编译的工具cmake,不过它基本是针对与c++程序而设计的,我感觉cmake已经很方便了,比写Makefile要舒服多了,最近又看到一个scons,瞬间感觉scons才是真爱...

  • 长期维护嵌入式Linux内核变得容易

    2017-03-02 - Pengutronix 内核黑客 Jan Lbbe 总结了嵌入式 Linux 中正在不断增长的安全威胁,并在这次欧洲嵌入式 Linux 会议上概述了一个计划,以保持长期设备的安全和功能完整。 安全漏洞只发生在 Windows 上的好日子正在快速过去。恶意软件黑客和拒绝服务老手们正在越...

  • 基于Linux进行移动开发的5个基本技能

    2017-03-01 - 随着越来越多的人依靠手机进行各种业务,移动应用开发的重要性也在不断增加。虽然他们与桌面应用程序有很多相似之处,但移动应用程序本身也具有一系列挑战和特殊性。因此,希望在当前市场找到有利就业的程序员将需要利用和发展当前需求的技能。当涉及到在Lin...

  • python批量下载并安装deb包

    2017-03-01 - 需要批量下载安装程序的可以参考以下. 实现方法: 1.urls.log中保存需要下载的deb包的URL地址 2.download-install.py从urls.log中解析URL,然后下载到./Downloads目录下,最后逐个安装. 3.执行: $python -i download-install.py 可以看到下载及安装过程 上代码:...

  • linux如何在shell中自动生成1到100的数组

    2017-02-28 - 之前自己在写shell脚本的时候,需要自动创建1-100的文本确不知道该如何去创建。百度一翻终于知道了创建的方法。 在shell脚本中创建1-100的方法很多,那我在这里主要就说两种容易理解且方便的方法: 第一种方法: for i in {1..100} do echo $i done 使用{1.....

  • Linux下监控命令或脚本执行情况,以监控jmeter日志为例

    2017-02-28 - 一般情况下,linux命令执行,会打印相应的日志,基于此,考虑通过对日志文件的监控,确认linux命令执行是否结束。 例子:监控jmeter日志,当jmeter日志不再打印(即为jmeter执行完毕),然后执行ant命令,生成jmeter测试报告 #!/bin/sh #监控jmeter.log日志...

  • HDFS的java客户端操作代码(Windows上打jar包,提交至linux运行)

    2017-02-27 - 1.通过java.net.URL实现屏幕显示demo1文件的内容 package Hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org.apache.hadoop.io.IOUtils; public class JarDemo { static{ URL.set...

  • 首页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 下一页
  • 末页
  • 491936