Linux后台服务器编程。
发布时间:2014-03-27 18:10:23
问题一:int *p1 = new int[10]; int *p2 = new int[10](); 有啥区别?答:我理解 int *p2 = new int[10]();申请了空间而且进行了初始化int *p1 = new int[10];只申请空间没有进行初始化原因:对于些结构体我们看()往往表示构造函数int基本类型算初始化吧理由: 测试输出两种值 会发现p1值未知而p2清.........【阅读全文】
发布时间:2014-03-29 22:02:02
最近学习算法,看CSDN博客:结构之法 中的 微软100题。由于编程动手少,知道怎么做,但是就是写不出代码来,所以把答案抄写几遍,最后记住了答案,可以直接写出代码来。那么是不是多记忆一些代码然后就可以提高自己的编程能力呢?我想这就如同背记作文,然后背多了就能写出文章来,但是这样的效率高吗?恐怕不会很高,写代.........【阅读全文】
发布时间:2014-03-26 11:37:55
更多内容请查阅:http://publib.boulder.ibm.com/infocenter/aix/v7r1/index.jsp?topic=%2Fcom.ibm.aix.cmds%2Fdoc%2Faixcmds5%2Ftr.htmvi/vim 中可以使用 :s 命令来替换字符串:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行.........【阅读全文】
发布时间:2014-03-25 21:41:12
目的:基本掌握了 make 的用法,能在Linux系统上编程。环境:Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备:准备三个文件:file1.c,file2.c, file2.hfile1.c:#include<stdio.h>#include "file2.h"intmain(){printf("printfile1$$$$$$$$$$$$$$$$$$$$$$$$\n");File2Pri.........【阅读全文】
发布时间:2014-03-25 20:34:34
extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。含义(1) 被extern限定的函数或变量是extern类型的:a.extern修饰变量的声明。举例来说,如果文件a.c需要引.........【阅读全文】
发布时间:2014-03-25 16:18:48
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、 glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控。 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存.........【阅读全文】
发布时间:2014-03-25 16:03:39
目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。避免定时任务脚本的常见问题很多.........【阅读全文】
发布时间:2014-03-25 12:02:54
摘要:Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、 改变内核设置的机制。尽管在各种硬件平台上的 Linux 系统的 /proc 文件系统的 基本概念都是相同的,但本文只讨论基于 intel x86 架构的 Linux /proc 文件系 统。____.........【阅读全文】
发布时间:2014-03-25 09:55:57
链接地址:http://www.ibm.com/developerworks/cn/education/linux/l-sock/index.htmlDavid Mertz (mertz@gnosis.cx), 作家、程序员和教师简介: 这个入门级的教程展示如何开始使用套接字编程。重点集中于 C 和 Python,本教程指导您完成一个回显(echo)服务器和客户机(它们通过 TCP/IP 来连接.........【阅读全文】
发布时间:2014-03-25 09:22:46
从内核到应用程序级别的函数调用序列TCP/IP 编程接口提供各种系统调用,以帮助您有效地使用该协议。TCP 堆栈代码数量繁多,深入到内核级别的完整调用序列可以帮助您了解 TCP 堆栈。在本文中,将回顾和学习关于 TCP 调用序列的详细信息,其中包括对 FreeBSD 的引用,以及在用户级进行系统调用后在 TCP 堆.........【阅读全文】
发布时间:2014-03-24 22:23:58
为了提高读写文件速度,linux系统采用一种页缓存机制。当应用程序调用read,write等函数读写文件时,系统并不立即与硬盘进行操作,而是查看需要读取的数据是否已在页缓存中,如不在,则从硬盘读取。当写入时,只是将数据写入至页缓存,然后使用系统进程pdflush根据一定算法写入至硬盘,算法细节文章后部分会进行一.........【阅读全文】
发布时间:2014-03-24 16:51:41
概述本系列由两篇文章组成,介绍了当前用于 Linux 操作系统上的几种零拷贝技术,简单描述了各种零拷贝技术的实现,以及它们的特点和适用场景。本文是本系列文章的第一部分,主要是介绍一些零拷贝技术的相关背景知识,简要概述了 Linux 为什么需要零拷贝技术以及 Linux 中都有哪几种零拷贝技术。引言.........【阅读全文】
发布时间:2014-03-24 12:29:07
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx 开始记录宏,并将结果存入寄存器xq 退出记录模式@x 播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作.........【阅读全文】
发布时间:2014-03-21 21:42:54
比如网卡的内核缓冲区,那这个缓冲区是在pc内存还是在网卡的芯片上呢?------解决方案--------------------网卡中的缓冲区既不属于内核空间,也不属于用户空间。它属于硬件缓冲,允许网卡与操作系统之间有个缓冲;内核缓冲区在内核空间,在内存中,用于内核程序,做为读自或写往硬件的数据缓冲区;用户缓冲区在用户空.........【阅读全文】
发布时间:2014-03-21 15:40:31
Google Protocol Buffer 的使用和原理Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的.........【阅读全文】
发布时间:2014-03-21 12:35:00
pthreads 的基本用法介绍 POSIX 线程线程问题是令许多程序员头痛的问题。UNIX 的进程模型简单易懂,但有时效率低下。线程技术通常能使性能得到实质性的改进,付出的代价就是代码有点混乱。本文揭开了 POSIX 线程接口的神秘面纱,并提供了线程化代码的实际例子作为参考。.........【阅读全文】
发布时间:2014-03-21 10:45:07
Linux 调度器内幕内核中这个非常重要的组件的最新版本改进了可伸缩性Linux? 内核继续不断发展并采用新技术,在可靠性、可伸缩性和性能方面获得了长足的发展。2.6 版本的内核最重要的特性之一是由 Ingo Molnar 实现的调度器。这个调度器是动态的,可以支持负载均衡,并以恒定的速度.........【阅读全文】
发布时间:2014-03-21 10:12:31
Linux 和对称多处理在 SMP 系统上发挥 Linux 的功能 如主流中央处理器(CPU)供应商所证明的那样,多核处理器随时准备着占领桌面和嵌入式市场。多处理带来了更高的性能,也同时带来了新的问题。本文将探讨多处理和开发使用 SMP 的 Linux? 应用程序背后的思想。0 评论: .........【阅读全文】
tianyashuibin2014-12-08 11:22
Oscarzhao:c++11 中貌似可以
嗯,是的,在c++11中可以
下面是在gcc的编译结果:
test_struct.cc:8:11: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
int a = 1;
^
tianyashuibin2014-10-23 21:57
除了静态数据成员外,数据成员不能在类体内显式的初始化
举个最简单例子
struct a
{
int a=1;
int b=2;
};
这也不能通过啊!
原因很简单,因为struct a此时只是在说明有这么个类型,而并没有定义一个具体的变量和分配内存空间
tianyashuibin2014-10-23 21:39
1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员
2.进入构造函数后在构造函数中执行一般计算
1.类里面的任何成员变量在定义时是不能初始化的。
2.一般的数据成员可以在构造函数中初始化。
3.const数据成员必须在构造函数的初始化列表中初始化。
4.static要在类的定义外面初始化。
5.数组成员是不能在初始化列表里初始化的。
6.不能给数组指定明显的初始化。
这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5的矛盾。
tianyashuibin2014-10-23 21:32
记住静态成员这样初始化:
C/C++ code
class A
{
public:
static const int a[3];
};
const int A::a[3] = {1,2,3};