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

首页 / 操作系统 / Linux

使用C+解决Linux中文乱码问题

使用C+解决Linux中文乱码问题

遇到的问题是: 1.在Linux下用fstream读取内容为中文的文件,存放在string类中 2.在string字符串中,对其进行查找,插入,替换,追加等操作 3.把处理好的string字符串,使用smtp协议来发送邮件 4.windows机器使用outlook来接收邮件,发现正文内容有几处乱码 继续对string类做个测试: string text; for(int i = 0 ; i < 1000; i++) { text.append("我...
十一步让你理解Linux的内存映射

十一步让你理解Linux的内存映射

零:32位操作系统只有4G的虚拟地址空间,Linux将最上的1G用于内核虚拟地址。一:Linux将物理内存完全一一映射到内核空间,这样很方便管理内存,任何页面的虚拟地址减去一个0xc0000000的偏移就可以得到物理地址。二:内核还需要动态管理一些内存用于vmalloc或者设备临时映射等,因此不能将1G的虚拟空间完全一一映射物理内存,因此权衡了一个896M的大小,0xc0000000到0xc0000000+896M的虚拟地址空间一一映射物理内存,从0xc0...
x86架构下的物理内存-通过Linux概述

x86架构下的物理内存-通过Linux概述

其它体系结构我没有深入研究过,然而对于x86而言,我们很多人都是很了解的。其内存可以支持4G(不考虑PAE),因为地址总线为32位,也就是说32条1位的线缆可以选择4G的地址,因此我们想当然的认为我们买了两条2G的内存插入以后,我们的系统就可以有4G的内存可用了,我们的系统内存在满载运行,然而果真如此吗?答案是否定的!因为所谓的地址总线32位是指从cpu引脚出来的总线是32位,是针对于cpu而言的,具体这些总线最终能全部连接在主板的ram上吗?会不会还会连...
Linux的64位操作系统对32位程序的兼容

Linux的64位操作系统对32位程序的兼容

最近在调试一个关于OpenVPN的程序,由于是远程支持的因此一些很奇怪的现象根本不好找切入点,比如OpenVPN客户端连接服务器正常,虚拟IP地址也已经分配了,tap设备已经打开并没有抱错,然而打开的tap设备不是tap0而是" ",也就是什么都没有,连个空格都不是,这是怎么回事呢? 为了问题简化,将引起问题的代码从OpenVPN中切出来,得到一个纯粹打开tap设备的代码:int main(int argc, char *argv[]){ struct i...
x86体系下Linux中的任务切换与TSS

x86体系下Linux中的任务切换与TSS

tss的作用举例:保存不同特权级别下任务所使用的寄存器,特别重要的是esp,因为比如中断后,涉及特权级切换时(一个任务切换),首先要切换栈,这个栈显然是内核栈,那么如何找到该栈的地址呢,这需要从tss段中得到,这样后续的执行才有所依托(在x86机器上,c语言的函数调用是通过栈实现的)。只要涉及地特权环到高特权环的任务切换,都需要找到高特权环对应的栈,因此需要esp2,esp1,esp0起码三个esp,然而Linux只使用esp0。tss是什么:tss是一个...
Ubuntu 10.10 取消交换设备

Ubuntu 10.10 取消交换设备

我的Thinkpad E40加了块内存,现在是4G。对于这样的配置还使用交换设备必然有点浪费硬盘。为了减少硬盘耗损,决定取消交换设备。Windows7取消虚拟内存通过系统里的高级就可以设置了,这里主要说Ubuntu 10.10下如何取消交换设备。 交换设备包括交换分区和交换文件,交换分区的载入是通过/etc/fstab中的swap分区载入的,因而可以执行下列脚本:sudo gedit /etc/fstab &将其中的swap分区注释掉即可 如果还...
联想Thinkpad E40 Windows7下安装Ubuntu

联想Thinkpad E40 Windows7下安装Ubuntu

我的E40预装的Windows7,已经升级到旗舰版并激活。为了使用Ubuntu,决定安装Windows7/Ubuntu双系统。刻了张Ubuntu 9.10 CD版的盘子,从光驱启动到那个一个键盘一个小人的画面时,定住不动了。按任意键后出现安装菜单。选择安装Linux到硬盘后,按下回车键。光驱开始读盘,但是过一会就不动了。在此按下还是老问题。没办法只有常识用wubi在Windows7下安装。双击wubi.exe直接到在Windows7下安装的界面,没有出现那...
RedHat Enterprise Linux 5.2 Yum源配置

RedHat Enterprise Linux 5.2 Yum源配置

装了RedHat.Enterprise.Linux.5.2后,因为认证的问题,系统自带的yum不能使用,导致安装或更新rpm包太麻烦,特别是涉及到rpm包依赖的时候,很是花费时间和精力。有了yum之后生活就一下子美好起来了。比如安装gcc编译器,只要运行“yum install gcc”命令就行了。yum会自动安装gcc依赖的包。RedHat 不让使用yum来下载他所提供的rpm包,幸而我们可以选择的是使用CentOS提供的rpm包。以下是配置yum的具体...
OpenSUSE Linux分辨率调整之旅

OpenSUSE Linux分辨率调整之旅

自从换了新显示器之后,在OpenSUSE Linux 11.2 系统下显示效果一直不好,用系统自带的图形界面的Display Preference工具,最高分辨率(1680*1050)里面对应的刷新率居然只有58HZ这一个选项,设定之后一直显示得模模糊糊的,而且屏幕边缘都显示不全。由于这段时间可能要有较多工作在这个系统下做,所以下决心好好治理一下这个问题。在网上搜了一大气,都说要改这个文件:/etc/X11/xorg.conf据说有几个参数特别重要:Hor...
在 MacBook Air 3.1 (2010版) 上使用 U 盘安装 Ubuntu 10.10

在 MacBook Air 3.1 (2010版) 上使用 U 盘安装 Ubuntu 10.10

Apple MacBook Air 3.1 (即11寸2010版)可以使用U盘安装 Ubuntu 10.10,并且能够顺利驱动包括显卡、无线网卡、声卡、蓝牙、多点触摸板、键盘、电源管理等硬件,而且运行速度也很快,喜欢 Linux 的你可以尝试一下。@varptr安装要点a、在 MacBook Air (以下简称 MBA)上创建两个分区用于安装 Ubuntu;b、安装rEFIt ;c、下载Ubuntu 的安装光盘镜像;d、通过工具mkisohybrid 将U...
Linux下duckling安装经验及备忘

Linux下duckling安装经验及备忘

按照说明进行安装,遇到以下问题:一、 测试数据库连接无法通过:上网查找了增加用户名及密码的命令行方法。二、 Tomcat 无法启动:1、 jdk 没有正确安装;2、 startup.sh 无法正常执行:(1)安装前 config 时设定的路径最后面都多了一个“ / ”;(2)Java 相关的系统环境变量配置有误;(3)直接阅读 .sh 文件,调试并发现了 log 输出的位置;阅读发现 80 端口无权限打开;(4)改成 8080 端口, log 说是已经被占...
Linux /bin 目录下命令简要说明

Linux /bin 目录下命令简要说明

Linux /bin 目录下命令简要说明:命令解释说明alsacard检测声卡alsaunmute静音设置arch查看硬件类型awk一种程序语言环境basename去除文件名的目录部分和后缀部分,返回一个字符串参数的基本文件 名称busybox标准Linux工具的一个单个可执行程序实现,常用于嵌入式Linux,参见本书“文件系统”内容cat连接或显示文件chgrp更改文件或目录的组所有权chmod更改文件权限chown更改与文件关联的用户或组cp复制cpi...
不用光驱U盘 通过Windows 启动菜单引导Ubuntu 10.10

不用光驱U盘 通过Windows 启动菜单引导Ubuntu 10.10

接上篇 Ubuntu 10.10 提示 grub rescue 解决方法说过的事,如果你不小心在Windows XP下删除可装有Linux的逻辑分区后,后来又恢复了分区表,但是或者格式化重装了或者Ghost了Windows系统,启动菜单中么有了Ubuntu 10.10的启动项怎么办呢,而手头又没有光盘或者Usb启动盘,怎么办呢?下载Linux公社提供的通过Windows 启动菜单引导Ubuntu 10.10的附件,将 grub2 、g2ldr 和 g2ld...
<< 371 372 373 374 375 376 377 378 379 380 >>