现在的位置: 首页 > 综合 > 正文

怎样向一个c++函数传数组、Linux下怎么显示unicode字符、Linux的地址空间

2013年08月28日 ⁄ 综合 ⁄ 共 641字 ⁄ 字号 评论关闭
我们都知道,下面两个函数的参数实际上都是整型指针:
void test1(int * p)
{
}
 
void test2(int p[10])
{
 //下面这句话如果直接看汇编代码的话实际上是直接对num赋值1
 int num = sizeof(p)/sizeof(p[0]);
}
 
编译器并不会把p[10]当做数组来处理,但是如果真的需要以一个数组为参数
该怎么办呢?可用下面的方式:
void test3(int (&p)[10])
{
 //下面这句话如果直接看汇编代码的话实际上是直接对num赋值10
 int num = sizeof(p)/sizeof(p[0]);
}
也就是传数组的引用。
 

Linux

下怎么显示
unicode

字符?

wchat_t text[5]=L”test”;

调用
wprintf(”%ls”,text);


注意:

1.

这里
wprintf

的格式字符串中要加
l



2.


linux

中,
wchar_t


4

字节,这点和
windows

下不一样,
windows

下是
2

字节。

?

 

 

Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到
0xFFFFFFFF),供内核使用,称为“内核空间”。而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使
用,称为“用户空间)。因为每个进程可以通过系统调用进入内核,因此,Linux内核由系统内的所有进程共享。于是,从具体进程的角度来看,每个进程可以
拥有4G字节的虚拟空间

抱歉!评论已关闭.