现在的IT市场很浮躁,充斥着各种各样的所谓“精通”,在求职简历上比比皆是。但是本文目的不在于讨论精通的标准,也不想去批评现在漫天的精通。就让我们暂且认同“精通”这两个字,来讨论下Linux/Unix(以下简称Linux)和C对精通PHP的帮助。另外要说明下的是,这里说的精通PHP只是纯粹对于PHP来说的,并不是指web开发,所以javascript,HTML或者Ajax,smarty,CSS这类都不在讨论范围。
最近打算开始学习Linux下的C++程序开发,经过几天的搜索,发现ACE这套框架不错,最主要的是能够跨平台。不过在安装的过程中还是走了不少的弯路,在此记录下来。一、下载安装包 下载地址:http://download.dre.vanderbilt.edu/ 由于我只需要使用ACE,因此我只下载了ACE.tar.gz Linux Kernel是Linux系统的核心部件,支持Intel、Alpha、PPC、 Sparc、IA-64 、ARM、MIPS、 Amiga、Atari和IBM s/390等,还支持32位大文件系统.而在Intel平台上,物理内存最大支持可以达到64GB.加强对IDE和 SCSI硬件系统的支持,并增强了对 USB设备和3D加速卡的支持.
第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4)
<1># rpm -qa|grep jdk ← 查看jdk的信息或直接执行 或 # rpm -q jdk 或 # java -version <2># rpm -qa | grep gcj ← 确认gcj的版本号 <3># yum -y remove java-1.4.2-gcj-compat ← 卸载gcj 打算用Linux下面的eclipse进行c++开发,因为好久没做c++开发了,又对Linux没那么熟悉,就记录一下我的入门经历。 目的是创建一个共享库,然后用另一个项目去调用。 首先,创建一个共享库。打开eclipse,选择c++项目里面的共享库,创建即可,然后就是编写相应的代码什么的…… 为了在Linux用上新出来的qt4,我必须给系统装上gcc-3.2.2以上的版本。网上资料让我越看越头疼,幸好折腾了这么久,终于安装好了gcc-4.1.0,其实qt4里,除了qt-4.4.0以上的版本的安装与这有区别外,其他的都一样吧。 步骤如下: 1.首先下载 gcc-4.1.0.tar.gz 或gcc-4.1.0.tar.bz2 交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。 Linux使用的工具链软件是:Binutils,gcc,glibc,gdb。 其中binutils是二进制程序处理工具。gcc是编译器。glibc是应用程序编程的函数库文件软件包。gdb是调试工具。 PHP是一种新型的CGI程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux平台的Web后台程序,内置了对文件上传、密码认证、Cookies操作、邮件收发、动态GIF生成等功能,PHP 直接为很多数据库提供原本的连接,包括Oracle、Sybase、Postgres、Mysql、Informix、Dbase、Solid、 Access等,完全支持ODBC接口,用户更换平台时,无需变换PHP代码,可即拿即用.
Linux下编译postfix使其支持mysql,ldap,sasl,ssl的脚本
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" echo "Please Input the options in the following!" echo " Modified By GTSC Hu Changwen" echo " Any problem,Please Connact me:wtcmaster@126.com" echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" echo "" for data in ldap mysql sasl ssl Linux 常用C函数说明——接口处理基本知识 setprotoent(打开网络协议的数据文件) 相关函数 getprotobyname, getprotobynumber, endprotoent 表头文件 #include <netdb.h> 定义函数 void setprotoent (int stayopen); 函数说明 setprotoent()用来打开/etc/protocols,如果参数stayopen值为1,则接下来的getprotobyname()或getprotobynumber()将不会自动关闭此文件。 引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是: http://sourceforge.net/projects/bochs/ 调试环境的的建立 下载linux-0.11-devel-040329.zip,解压缩 Linux系统中ls -l命令可以获得某个目录下文件的具体信息,比如:
gaolu@gaolu-desktop:~/test_folder$ gaolu@gaolu-desktop:~/test_folder$ ls -l total 20 -rw-r--r-- 1 gaolu gaolu 2578 2009-03-08 02:10 gao.lu.c -rw-r--r-- 1 gaolu gaolu 2577 2009-03-08 02:07 gao.lu.c~ -rwxr-xr-x 1 gaolu gaolu 9675 2009-03-08 02:12 ls.o -rwxr--r-- 1 gaolu gaolu 0 2009-03-08 01:50 test1 -rw-r--r-- 1 gaolu gaolu 0 2009-03-08 01:50 test2 -rw-r--r-- 1 gaolu gaolu 0 2009-03-08 01:50 test3 -rw-r--r-- 1 gaolu gaolu 0 2009-03-08 01:51 test4 给Linux设置HTTP、FTP代理的Java代码 /** * 用root登录编辑 /etc/bash.bashrc文件, 添加下列两行都文件最后: */ // 有密码形式 据国外媒体报道:Cilk Arts,一家制作多核编程软件的公司,发布了Cilk++ 1.0,这是一个对Linux和Windows下运行在多核处理器上的程序性能进行优化的平台。通过Cilk++,用户可以对支持多核的应用程序进行快速的开发、测试和发布。该套解决方案包括一套C++语言的扩展、一个运行时系统以及一些简化多核软件开发的工具。
有了aptitude和gem,在Ubuntu上安装Rails不是什么难事儿,但实际安装时没准碰到什么问题,比如漏掉了某些类库、必须更新版本等等。如果出现错误了去网上现查也可以,但是耗时耗力,搞不好1、2个小时搭进去了。我在昨天和今天装了3台机器,整理了一下在Ubuntu 8.10上安装Rails 2.2.2的步骤,第一台安装花了2个小时,最后1台只花了10分钟。步骤如下:
#!/bin/sh sto(){ echo "stop.........." /bin/kill -9 `exec ps ax|grep java|grep -v grep|awk '{print $1}'` } 本文将介绍用icc(Intel® C++ Compiler)版本 10.1.x 来编译Linux的内核(支持2.6.22以上的版本)
2.6.23以上包含2.6.23的内核它的解压和引导内核代码改变了如果用icc去直接编译内核,将会造成部分代码无法用icc编译,或者编译出来的代码无法正常引导内核,所有本文的方法是用gcc编译引导部分的代码,而其它部分的代码交由icc编译. 安装前可以查看一下jdk版本,进入Ubuntu终端 $java -version 回车,可以看到jdk版本是1. 4 .2的。 1. 手动安装jdk6 首先,在http://java.sun.com下载jdk-6u12-linux-i586.bin,据说这个操作起来比较简单,不需要转换。 然后,可以把它放置在任何你喜欢的文件夹,如果是像我样的菜鸟,建议把它放置到主文件夹(/home/*)下。 Qt是一个跨平台的C++图形用户界面库,.由挪威TrollTech公司出品,目前包括Qt/X11,基于Frambuffer的Qt Embedded,快 速开发工具Qt Designer几国际化工具Qt Linguist等.Qt支持Unix及Linux系统,还支持 Windows NT/Windows 2k及Qindows 95/98平台.Qt的良好封装机制使其模块化程度非常高,可重用性较好. Qt/Embeded是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式品台开发工具。Qt/Embeded API可用于多种开发项目。许多基于Qt的X Window程序可以非常方便地移植到嵌入式版本。 准备工作: 一台装有Red Hat9.0的PC机,一套LJD2410-I开发板,PC机上装有LJD2410的软件包,假如我们通过NFS要加载的文件系统为/LJD2410/root_dir/root_china, Ifconfig eth0 192.168.1.100 //设置PC机Linux的IP:192.168.1.100, Ifconfig eth0 192.168.1.10 //开发板IP:192.168.1.10 为什么要进行shell编程 Linux系统中虽然有各种各样的图形界面工具,但shell仍然是一个非常灵活的工具。Shell不仅集合了大量命令,还是一门非常棒的编程语言。借助shell,大量任务能实现自动化;shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 一个使用Intel C/C++编译器编译的LinuxDNA兼容Linux内核已经完成。新编译内核的价值不仅在于它没有出错,而在于它在大多数情况下已经可以作为一个兼容Linux内核开机进入Gentoo Linux系统。
Valgrind是x86架构Linux上的多重用途代码剖析和内存调试工具。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C语言中的malloc和free或者C++中的new和delete。如果你使用了未初始化内存,在数组末端外设置内存或是忘记释放指针,Valgrind都可以检测出来。尽管Valgrind还可以做其它的工作,本教程仍然集中在如何使用它来发现内存相关错误,因为这也程序员经常出现的错误。
由于个人专业缘故,我一直在寻找最好的工具。大家都知道,由于在软件多种多样的原因,我们在开发过程中,需要选择各式各样的程序语言进行工作。也正因如 此,我经常被软件开发的初学者问及:“究竟应该学习哪种语言?”。但是当我反问他们想要做些什么的时候,他们却变得一脸茫然。原来这些人一直认为,一种最 佳语言可以解决所有的问题。每个人都知道,这个世界上并不存在万能的“银弹”,但是,我却可以为您推荐几款在专业领域中更适合的,适用性更广的程序语言。 鉴于此,我列出了如下的一个清单:
内核下载:http://www.kernel.org/pub/linux/kernel/linux-2.4.21 (刚刚下载的Linux 2.4.6内核,打完补丁发现不支持at91rm9200,郁闷) arm9补丁下载:ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/ 交叉编译器:arm-linux-cross-2.95.3 在编译内核时候,可以指定一个文件夹作为内核启动时候的根文件系统,Linux中管这个文件系统叫做initramfs。 具体做法如下(以i386为例) 1.下载内核文件 2.解压内核 2009年2月Tiobe编程语言排行榜发布,前十位的排名没有太大变化,C语言在取得了08年年度编程语言后增势迅猛,相比去年同期增长了0.98%。本期前20名的榜单中,两种同样以商业数据处理擅长的编程语言COBOL和RPG的排名变化值得我们关注。COBOL本期跌出前20名,本期排在22位 (上期排名17);RPG语言进入前20名,排在第19位(上期排名21)。
一.为什么要学Linux? 当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好! 二.起步 你应该为自己创造一个学习Linux的环境--在电脑上装一个Linux或unix 1、显示Linux系统已有的Java版本: 2、我下载的新版本是:jdk-1_5_0_06-linux-i586.bin 3、#sh jdk-1_5_0_06-linux-i586.bin 按提示选择yes (安装完成) C++字符编码转化代码,大家可以自己编译下看看。 bool GB2312_AnsiToUnicode(char *lpszOut, const char* lpszIn,
const char* lpszCurCode/* = NULL*/, const char* lpszOutCode/* = NULL*/) { #ifdef WIN32 // _WIN32 //Do nothing int lpszOut_size=GB2312_AnsiToUnicode_Size(lpszIn); 在Linux上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。 一、利用iconv函数族进行编码转换 Linux环境下在/etc/sysctl.conf 中加入下面的配置, # 开启TCP滑动窗口以便程序可以使用TCP数据包扩展位来增大滑动窗口的大小,提高网络性能 Fedora和很多发行版已经默认开启 2009 年 2 月 12 日,Linux 兼容内核项目开发组正式发布了 Linux 兼容内核 0.2.3 版本。该版本在 0.2.2-1 版的基础上,将 Wine 的注册表管理机制整体移植到内核,使得应用程序运行效率有了一定的提高。 兼容内核项目计划及项目进展: 上周S3公布了Chrome 540 GTX显卡,S3声称这是接口强大的高清显卡,同时支持HDMI和DisplayPort以及DVI。新闻稿中宣传Chrome 540 GTX支持Linux和OpenGL 3.0。不过Linux用户最近指出,S3的Linux驱动根本是遥遥无期。
网上关于Linux下JAVA的环境变量的设置方法很多,本人觉得最有效的方法不错: /home/系统用户名/下 Linux会将物理地址映射为虚拟地址,所以要在内核中操作寄存器或者外部设备,就必须找到其相应的虚拟地址。 一般来说,io映射相关定义会放在include/arch-xxx/io.h中。而内存相关定义会在memory.h中 环境准备 刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。 Hi,learning c++ in g++该命令将文件‘hello.cpp’中的代码编译为机器码并存储在可执行文件’hello’中。机器码的文件名是通过 -o 选项指定的。该选项通常作为命令行中的最后一个参数。如果被省略,输出文件默认为 ‘a.out’。注意到如果当前目录中与可执行文件重名的文件已经存在,它将被复盖。选项 -Wall 开启编译器几乎所有常用的警告──强烈建议你始终使用该选项。编译器有很多其他的警告选项,但 -Wall 是最常用的。默认情况下GCC 不会产生任何警告信息。当编写 C 或 C++ 程序时编译器警告非常有助于检测程序存在的问题。本例中,编译器使用了 -Wall 选项而没产生任何警告,因为示例程序是完全合法的。这将可执行文件载入内存,并使 CPU 开始执行其包含的指令。 路径 ./ 指代当前目录,因此 ./hello 载入并执行当前目录下的可执行文件 ‘hello’。
Linux Kernel是Linux系统的核心部件,支持Intel、Alpha、PPC、 Sparc、IA-64 、ARM、MIPS、 Amiga、Atari和IBM s/390等,还支持32位大文件系统。而在Intel平台上,物理内存最大支持可以达到64GB.加强对IDE和 SCSI硬件系统的支持,并增强了对 USB设备和3D加速卡的支持。
高级C+Linux编程基础 指针&指针数组 强制类型转换 int *p;*(char *)p; int *p1,*p2; int a[3]={1,2,3}; p=a; a[0]-->1 *p-->1 p[0] a[1]-->*(p+1)-->p[1] *(a+1) a可理解为存储了本身地址的指针 *(a+1) ---> *(5640+4) 5640假定为一地址. 1.进程和线程的区别 通俗一点说,进程就是程序的一次执行,而线程可以理解为进程中的执行的一段程序片段。 用一点文词说就是,每个进程都有独立的代码和数据空间(进程上下文);而线程可以看成是轻量级的进程。一般来讲(不使用特殊技术),同一进程所产生的线程共享同一块内存空间。 本文介绍了一个跨平台的自动化构建系统 CMake 在 Linux 上的使用方法。 CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来。文中通过一些例子介绍使用 CMake 处理多源文件目录的方法、查找并使用其他开发包的方法以及生成 debug 版和 release 版程序的方法。
一 前言
本文旨在将 arm-linux 在 skyeye 上搭建起来,并在 arm-linux 上能成功 mount NFS 为目标, 最终我们能在 arm-linux 里运行我们自己的应用程序. 其实在 skyeye 上移植 arm-linux 并非难事,网上也有不少资料, 只是大都遗漏细节, 以致细微之处卡壳,所以本文力求详实清析, 希望能对大家有点用处。 就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。
Linux的核心部件Linux Kernel发布新升级,该软件支持Intel,Alpha,PPC,Sparc,IA-64,ARM,MIPS,Amiga,Atari和IBM s/390等,还支持32位大文件系统。而在Intel平台上,物理内存最大支持可以达到64GB。新版本加强对IDE和SCSI硬件系统的支持,并增强了对USB设备和3D加速卡的支持。 Linux Kernel是Linux系统的核心部件,支持Intel、Alpha、PPC、 Sparc、IA-64 、ARM、MIPS、 Amiga、Atari和IBM s/390等,还支持32位大文件系统.而在Intel平台上,物理内存最大支持可以达到64GB.加强对IDE和 SCSI硬件系统的支持,并增强了对 USB设备和3D加速卡的支持.
之前写过 关于 win32 下磁盘的遍历方法,下面是将里面实现的磁盘遍历函数重新设计了一下,因为磁盘遍历,文件夹遍历在很多时候还是很常见的,为了不修改遍历的函数体,我将处理文件的部分交由一个回调函数去处理,这样的话,你甚至可以把下面的代码写在dll里面,需要进行文件遍历的地方,只要实现一个回调函数传进去就可以了。
Java EE 6 Platform规范的公共草案已经发布了,其将对公众评估和反馈保持开放,直到2009年2月23日为止。 或许这一 迟到的草案最引人注目的地方就是Web Profile,这是Java EE平台历史上第一个profile. 规范的领导者Roberto Chinnici对这一Web Profile做了概述: Sun-Java 6 Linux 中文字体配置,jre的安装过程随意Google一下就行,但是安装完之后没有中文字体支持,因此在使用诸如FreeMind之类的基于java的软件时无法正确显示中文,有些字只显出一个方框。 我选用了微软雅黑作为FreeMind的中文字体,方法嘛很简单: C语言Linux时间操作 #include <sys/time.h> |
内容分类
|