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

来源:互联网 发布:linux 黑屏光标闪烁 编辑:程序博客网 时间:2024/05/01 08:21
我们都知道,下面两个函数的参数实际上都是整型指针:
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_t4字节,这点和windows下不一样,windows下是2字节。

?

 

 

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

原创粉丝点击