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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

一个通用的C/C++ Makefile

一个通用的C/C++ Makefile

写了一个通用的GNU/Linux环境下的Makefile。该Makefile适用于最后生成若干个可执行文件的小型C/C++工程,只要将该Makefile放在源码根目录下make,它会自动查找该目录下(包括子目录)的所有源码文件(支持.cpp .c .h格式)并自动生成正确的依赖关系,并且为了不污染源码文件夹,源码和编译过程中的中间文件会分开(Debug模式编译生成的中间文件在Debug目录下,Release模式在Release目录下)。试了几个之前写过的P...
Visual C++ 2015 引入更新的 C++ 特性到 Windows API

Visual C++ 2015 引入更新的 C++ 特性到 Windows API

Visual C++ 2015 是 C++ 团队付出巨大努力将现代C++引入windows平台的成果。在最新的几个发行版本里,VC++已经逐步添加了现代C++语言以及库的特色,这些结合在一起会创造一个用于构建通用windows App和组件的绝对惊艳的开发环境。Visual C++2015建立在早期版本引入的惊人进步,提供了成熟的、支持大多数C++11特性以及C++ 2015子集的编译器。你或许会怀疑编译器支持的完整程度,公正地说,我认为他能支持大部分重要...
Socket接口原理及用C#语言实现

Socket接口原理及用C#语言实现

首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上之后,就可以按设计的数据交换方法和格式进行数据传输。客户端在需要的时刻发出向服务端的连接请求。这里为了便于理解,提到了一些调用及其大致的功能。使用socket调用后,仅产生了一个可以使用的socket描述符,这时还不能进行通信,还要使用其他的调用,以使得socket所指的...
C程序标准及glibc

C程序标准及glibc

1、ANSI C是兼容各种操作系统的C标准2、POSIX标准兼容了UNIX系统的C标准1.Glibcglibc = GNU C Library是GNU项(GNU Project)目,所实现的 C语言标准库(C standard library)。目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准库。其实现了常见的C库的函数,支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。2.uClibc一个小型的C语言标准库,主要用于...
Linux程序存储结构

Linux程序存储结构

Linux系统下,程序是一个可执行文件,通常是ELF格式。通常,Linux的可执行文件拥有两种内存分配方式:存储时 和 运行时1、存储时看实例,下面是对可执行文件aa运行size命令后得到的结果。[root@xxx1 algriom]# size aatext data bss dec hexfilename1257 500 161773 6ed aa其中:text(代码区):表示正文段大小,是CPU执行的机器指令部分,通常,是可共享的,所以...
Java中获取系统相关信息——sigar

Java中获取系统相关信息——sigar

一、sigar简介sigar中文名是系统信息收集和报表工具,是一个开源的工具,提供了跨平台的系统信息收集的API,可以和绝大多数操作系统和大多数版本打交道,可以收集的信息包括:1.操作系统的信息,包括:dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendorName、vendorCodeName2.CPU信息,包括:基本信...
Linux C编程学习:如何锁定内存

Linux C编程学习:如何锁定内存

Linux 实现了请求页面调度,页面调度是说页面从硬盘按需交换进来,当不再需要的时候交换出去。这样做允许系统中每个进程的虚拟地址空间和实际物理内存的总量再没有直接的联系,因为在硬盘上的交换空间能给进程一个物理内存几乎无限大的错觉。 交换对进程来说是透明的,应用程序一般都不需要关心(甚至不需要知道)内核页面调度的行为。然而,在下面两种情况下,应用程序可能像影响系统的页面调度:确定性(Determinism) 时间约束严格的应用程序需要确定的行为。如果一些...
Linux C编程学习:静态链接库和动态链接库

Linux C编程学习:静态链接库和动态链接库

在C语言的层面上,对代码的重复利用通常是通过库(library)的方式来实现的。传统意义上的库指的是以后缀.a结尾的文件。严格来讲,函数库应当分为两种:静态链接库和动态链接库,也称动态共享库。静态链接库通常是指以.a为后缀的文件,而动态链接库则常常以.so为后缀名。静态链接库其实就是把一个或多个目标文件(即编译生成的.o文件)归档在一个文件中。此后,当需要使用这个静态库中的某个功能时,将这个静态库与要生成的应用程序链接在一起。ar工具 在Linux上平台...
Linux C编程学习:EOF

Linux C编程学习:EOF

EOF是 End Of File 的缩写。在C语言中,它是在标准库中定义的一个宏。多数人认为文件中有一个EOF,用于表示文件的结尾。但这个观点实际上是错误的,在文件所包含的数据中,并没有什么文件结束符。对getc 而言,如果不能从文件中读取,则返回一个整数-1,这就是所谓的EOF。返回 EOF 无非是出现了两种情况,一是文件已经读完;;二是文件读取出错,反正是读不下去了。文件结束符EOF,Windows下为组合键Ctrl+Z,Unix/Linux下为组合键...
Linux C编程学习:getchar()和getch()

Linux C编程学习:getchar()和getch()

getchar函数名: getchar功 能: 从stdin流中读字符用 法: int getchar(void);注解: getchar有一个int型的返回值,当程序调用getchar时程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符...
C++内存池实现

C++内存池实现

利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考虑好内存的分配与释放问题,其实也就是空间和时间的矛盾。有的内存池设计得很巧妙,内存分配与需求相当,但是会浪费过多的时间去查找分配与释放,这就得不偿失;实际使用中,我们更多的是关心内存分配的速度,而不是内存的使用效率。基于此,本文按照如下思想设计实现内存池。主要包含三...
<< 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 >>