kernel

17
获赞数
1
关注数
1
粉丝数
IP 属地未知
2014-04-30 加入
浏览 6.3k
╭╮╱╭┳━━━┳╮╱╭╮
┃┃╱┃┃╭━╮┃┃╱┃┃
┃╰━╯┃┃┃┃┃╰━╯┃
╰━━╮┃┃┃┃┣━━╮┃
╱╱╱┃┃╰━╯┃╱╱┃┃
个人简介什么都没有
236 声望|学徒
c
179
c++
87
指针
51
linux
36
java
32
1 黄金勋章
白银勋章
暂未获得该勋章
如何获得
个人动态
  • 回答了问题2014-08-03
    关于c语言中返回不定长数据的设计问题
    我觉得,查询函数根据结果动态申请内存,然后将申请内存的指针和查询结果的长度返回。然后调用者记得在不需要的时候把查询结果的内存释放掉就好了。
  • 回答了问题2014-06-06
    程序运行前寄存器的值是怎么来的?
    就x86来说,最主要的用户程序可以控制的通用寄存器并不多,其中最重要的是 eip, esp 分別对应是用户程序的第一条指令和用户程序的堆栈地址,这2个寄存器的os会在载入用户程序的时候根据elf文件的格式设置好。当用户程序运行的时候,其他的通用寄存器eax,ebx,ecx,...
  • 回答了问题2014-05-31
    OS X编译bochs报错 [configure: error: C compiler cannot create executables]
    brew安装gcc,设置环境变量CC为gcc试试。brew有多个gcc的版本可以选择,4.8,4.7,选择一个好了,如果还出错,继续贴log吧
  • 回答了问题2014-05-29
    QEMU启动自定义的linux kernel时是不是需要自己制作QEMU machine
    versatile是qemu支持的一个arm开发版的型号,linux的内核需要根据不同的开发版,arm处理器的型号进行编译,才能在qemu所支持的开发版上运行。如果你在x86平台上的话,需要配置内核做交叉编译才能产生在arm的linux内核,不知道你用的是那个config文件。
  • 回答了问题2014-05-29
    为什么系统调用比普通的函数调用更耗时?用户态和内核态切换的代价在哪?
    系统调用一般都需要保存用户程序得上下文(context), 在进入内核得时候需要保存用户态得寄存器,在内核态返回用户态得时候会恢复这些寄存器得内容。这是一个开销的地方。 如果需要在不同用户程序间切换的话,那么还要更新cr3寄存器,这样会更换每个程序的虚拟内存到物...
  • 回答了问题2014-05-19
    Java测试守护线程的一段程序在Java7下失效
    因为主线程和你新开的线程运行的顺序并不是确定的,当新的线程要输出的时候,你的main线程可能已经退出了。由于你setDaemon(true) Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running ar...
  • 赞了回答2014-05-15
    javascript值传递疑惑
    参数 o 是 o1 所引用的对象的引用 o = {} 是 改变了 o 的引用, o1 和它引用的对象都不受影响
  • 回答了问题2014-05-14
    Linux下如何用命令连接SSID隐藏的路由器?
    有个叫wicd的,有wicd-curses可以在命令行下用。
  • 回答了问题2014-05-14
    Linux下怎么实现这样的锁?
    楼主需要的是进程(process)之间共共享内存,那么这个时候pthread无法帮忙,因为pthread是线程(thread)级别的锁。 进程之间共享内存一般通过memory mapped file来进行,参见mmap函数。如果需要枷锁操作,可以根据情况选用文件锁 fcntl,或者信号量(Semaphores) semget...
  • 回答了问题2014-05-13
    xcode中设置编译方式的用途?
    c++11是目前最新的c++标准,上一个版本是c++03。不同的标准版本支持的语言特性不同,标准库里面所提供类和函数也不同。如果你用到c++11标准的新功能和标准库提供的功能,就需要选择这个支持的选项。
  • 回答了问题2014-05-08
    lua 关于全局变量和局部变量的效率问题
    参见 [链接]
  • 回答了问题2014-05-03
    为什么C/C++的预处理指令#include不自动让所包含的文件只包含一次?
    还有一个作用,有些时候一个头文件会被其他头文件包含,比如 types.h 被header_a.h 和header_b.h包含,然后一个C文件同时包含header_a.h和header_b.h的时候,如果没有#ifdef/#define/#endif,那么types.h就会被包含两次,这样在types.h中typedef unsigned int uint3...
  • 回答了问题2014-05-03
    C/C++头文件声明变量的问题
    A_type A_array[1024]; int Count; 在头文件中,分别被2个c文件包括,这样相当于在2个c文件中定义了2次,这样在最后把这2个c文件生成的obj文件链接到一个可执行文件的时候,会导致有重复的定义。一般的做法是把变量的定义放到一个c文件中去,如果其他的c文件需要访问...
  • 回答了问题2014-05-03
    什么是CPU的performance counters?
    performance counter 可以用来记录cpu中发生一些事件的次数,比如已经执行过多少条指令,有多少l1 cache miss,已经发生了多少次中断,有多少次分支预测错误之类的信息。不同的体系结构和微架构支持的事件是不同的,需要去读手册来看支持那些事件。
  • 回答了问题2014-05-03
    ubuntu从12.10升级到14.04之后出现问题
    virtualbox需要一些内核模块的支持,在升级内核以后,老的内核模块也许和新的内核版本不匹配,virtualbox提示让你用上面的命令重新编译一下匹配的内核模块。
  • 回答了问题2014-05-02
    c语言,一个连接两字符串的函数。
    所给出的答案中直接将第2个字符串的内容写到第一个字符串的后面,可能会导致覆盖其他数据,也可能会导致内存访问越界。一般都是先要根据整个2个字符串的长度malloc一块新的内存,然后再将字符串1和2分别strncpy到这块新分配的内存上去,得到拼接的字符串。
  • 回答了问题2014-05-01
    C/C++程序的存储空间布局
    大体来讲,一个可执行程序包括代码段和数据段。 代码段包含的就是可执行的代码,cpu指令,数据段又可以细分只读已初始数据和读写已初始数据,这2中数据都是包含在可执行文件中的,至于为初始数据,一般可执行文件只记录其大小,然后当程序被载入的时候分配相应的内存...
  • 回答了问题2014-05-01
    关于64位系统int *,int所占空间的问题
    就x86-64系统来说,cpu是可以按照字节寻址的。 int *在64位系统上是64-bit是由于x86-64的cpu的虚拟内存寻址空间是64位,这样一个指针也需要是64位才可以容纳下一个虚拟内存的地址。int 是数据类型,表明这个数据占用32个bits的内存空间,如果你想要访问某个在内存中...
  • 回答了问题2014-05-01
    模仿redis字典部分代码:dict.c 疑惑中
    假设add_ht传入的参数d已经被初始化,指向已经分配的内存空间,这个时候ht->table是一个指向指针的指针,初始化时候的值为0. ht->table = dict_entry这个语句行dict_entry指针的值付给ht->table, 虽然类型不匹配,一个是指针,一个是指向指针的指针,但是由...
  • 回答了问题2014-05-01
    怎样建立一个简易而不用安装在原有系统或者用虚拟机安装系统上的JDK环境
    你应该会用java ide写程序?一般ide都有可以设置使用那个jdk的选项。