Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux下编译运行C程序超高速教程

Linux下编译运行C程序超高速教程

在Linux下文本编辑器写个C程序(和Window一样,应该会吧),假设保存在了桌面上。开个终端,由于是超高速教程,所以接下来自己看:cd Desktop // 一些中文版的Linux可能这里是中文:桌面gcc program.c./a.out如果不想生成的可执行文件名为a.out,那么可以:gcc program.c -o program.out./program.out如果你使用的是UNIX系统,可以把gcc改为cc,如果你想编译使用了C99特性的程序...
Linux设备驱动开发环境的搭建

Linux设备驱动开发环境的搭建

对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。刚接触Linux设备驱动时,初学者往往连如何编译驱动程序都不懂,更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序,然后严格按照网上所说的步骤编译,结果却得到一大堆见都没见过的错误,更不要说根据错误信息来解决问题了,很多人到这里就 不知道如何往下进行了。十几天前我也卡在这里很长时间...
用“动态数组ArrayList”确定JAVA数组的大小

用“动态数组ArrayList”确定JAVA数组的大小

今天做项目遇到一个这样的问题,我要把查询出来结果放在数组里,String[] array = new String[?] ,但数组的大小是不可预知的,更不能把length NEW 成常量,怎么办?其实也很简单,我们也经常用的,就是把ArrayList当作动态数组来用就可以了,DEMO:ArrayList<String> array = new ArrayList<String>();下面是从网上检索到的具体用法:Java动态数组是一...
Java提取用户电脑CPU编号和网卡编号

Java提取用户电脑CPU编号和网卡编号

最近在做一个客户端监控的功能,需要提取用户电脑的CPU编号和网卡的编号,采集用户的登陆数据,据我所知道直接通过Java来调用操作系统的信息是非常困难的事情(我好像没有发现JavaAPI提供了这个功能),那这样的话只能通过JNI访问系统的信息了,不过有个SWT扩展的插件org.eclipse.swt.extension封装了调用DLL的JNI方法,主要是负责底层操作系统的方法,不过可能会对程序的跨平台性有点的影响,目前只能使用于Windows操作系统,使用方...
Java 传值和传引用小结

Java 传值和传引用小结

参数传值方法中所有参数都是“传值” (方法中参数变量的值是调用者指定然的值副本)对于基本数据类型的参数,向该参数传递的值的不可以高于该参数的级别(不能向int型参数传递一个float值) 如果 出现会有什么情况发生??引用类型参数的传值如果改变参数变量所引用的实体, 就是导致得变量的实体发生同样的变化。因此,两个同类型的引用型变量如果具有同样的有引用,就会用同样的实体,但是改变参数的引用不会影响向其传值 的变量的引用。(这一个什么话 我看了N遍 怎么就是不...
Linux内核体系结构简单介绍

Linux内核体系结构简单介绍

1.Linux 内核简介 现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。您可以从两个层次上来考虑操作系统,如图 1 所示。图 1. GNU/Linux 操作系统的基本体系结构 最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。 GNU C Library (glibc)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换...
Linux下如何正确地kill java进程

Linux下如何正确地kill java进程

在Linux/UNIX下,你会怎么中止一个java应用或进程? 多数人可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过本文打算阐述使用kill -9带来的一些问题,并给出另一种标准的kill方式。 标准中断信号 在Linux信号机制中,存在多种进程中断信号(Linux信号列表 )。其中比较典型的有 SIGNKILL(9) 和 SIGNTERM(15). SIGNKILL(9) 和 SIGNTERM(15) 的区别在于: S...
Linux下关于互斥锁及同步的移植

Linux下关于互斥锁及同步的移植

将Win32程序关于多线程的内容移植到Linux下面,不能简单的按照函数对应来移植。不过通过下面的对应关系,再加上你对这些模式的深入了解,相信会移植的很成功。信号量Windows 信号量是一些计数器变量,允许有限个线程/进程访问共享资源。Linux POSIX 信号量也是一些计数器变量,可以用来在 Linux 上实现 Windows 上的信号量功能。信号量的类型: Windows 提供了有名(named)信号量和无名(unnamed)信号量。有名信号量可以...
Linux桌面环境KDE更名 新增Plasma上网本

Linux桌面环境KDE更名 新增Plasma上网本

KDE社区的Linux桌面环境KDE一直以来和GNOME并驾齐驱,颇受欢迎,近日KDE社区决定更改这个使用了长达13年的品牌名称,重新对KDE命名是为了“从专注于Linux开源桌面转变为完全的开源社区”。KDE官方发言人Stuart Jarvis表示:“该应用程序架构已经成长、成熟而且实现了跨平台”,确实,KDE现在已经提供了Windows和Mac版本,虽然仍然处在测试阶段,Jarvis补充说,KDE已经从一个单一的桌面环境成长为了通用桌面环境,创建了大量...
Linux 汇编语言(GNU GAS汇编)开发指南

Linux 汇编语言(GNU GAS汇编)开发指南

汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux 平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式和开发工具,并辅以具体的例子讲述如何开发实用的Linux 汇编程序。一、简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重...
Linux驱动之hello world

Linux驱动之hello world

启动终端,首先用VI编写一个C程序:vi hello.c#include "stdio.h"int main(){printf("hello world!!! ");return 0;}接着用GCC进行编译:gcc -o hello hello.c,最后运行该程序:./hello,在终端上你会看到:hello world!!!上面的是在操作系统基础上进行的用户应用程序的开发。然而对于Linux驱动程序的开发是绝然不同的,因为驱动程序的开发是运行在内核空间的...
Linux内核源码树学习:Kconfig和Makefile

Linux内核源码树学习:Kconfig和Makefile

Linux内核源码树的每个目录下都有两个文档Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile调用这个.config,就知道了用户的选择。这个内容说明了,Kconfig就是对应着内核的每级配置菜单...
6410平台上配置Linux的DDR参数

6410平台上配置Linux的DDR参数

前段时间为了解决一个从128M升级到256M的DDR问题,搞的是焦头烂额。最后在别人讨论的情况下终于试出来了正确结果,下来还得自己总结下。自己的硬件平台才采用的是6410的DMC1即32位的DRAM控制器,两个16位128M的DDR的地址线是共在一起连在6410的16根地址线上,数据线是并在一起成32位连在6410上,其它控制脚对应接上。软件之前写入128M运行OK,改成256M出现页面分配错误导致fatal error而死机。最后发觉是少改了一个地方。综...
Linux Shell编程if语句内判断参数

Linux Shell编程if语句内判断参数

Linux Shell编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 ...
<< 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 >>