Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
308a3b88
提交
308a3b88
8月 31, 2018
创建
作者:
Frans Kaashoek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
thanks tyfkda
上级
34325518
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
20 行增加
和
19 行删除
+20
-19
forktest.c
forktest.c
+1
-1
printf.c
printf.c
+1
-1
ulib.c
ulib.c
+6
-5
user.h
user.h
+12
-12
没有找到文件。
forktest.c
浏览文件 @
308a3b88
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
#define N 1000
#define N 1000
void
void
printf
(
int
fd
,
char
*
s
,
...)
printf
(
int
fd
,
c
onst
c
har
*
s
,
...)
{
{
write
(
fd
,
s
,
strlen
(
s
));
write
(
fd
,
s
,
strlen
(
s
));
}
}
...
...
printf.c
浏览文件 @
308a3b88
...
@@ -37,7 +37,7 @@ printint(int fd, int xx, int base, int sgn)
...
@@ -37,7 +37,7 @@ printint(int fd, int xx, int base, int sgn)
// Print to the given fd. Only understands %d, %x, %p, %s.
// Print to the given fd. Only understands %d, %x, %p, %s.
void
void
printf
(
int
fd
,
char
*
fmt
,
...)
printf
(
int
fd
,
c
onst
c
har
*
fmt
,
...)
{
{
char
*
s
;
char
*
s
;
int
c
,
i
,
state
;
int
c
,
i
,
state
;
...
...
ulib.c
浏览文件 @
308a3b88
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
#include "x86.h"
#include "x86.h"
char
*
char
*
strcpy
(
char
*
s
,
char
*
t
)
strcpy
(
char
*
s
,
c
onst
c
har
*
t
)
{
{
char
*
os
;
char
*
os
;
...
@@ -24,7 +24,7 @@ strcmp(const char *p, const char *q)
...
@@ -24,7 +24,7 @@ strcmp(const char *p, const char *q)
}
}
uint
uint
strlen
(
char
*
s
)
strlen
(
c
onst
c
har
*
s
)
{
{
int
n
;
int
n
;
...
@@ -68,7 +68,7 @@ gets(char *buf, int max)
...
@@ -68,7 +68,7 @@ gets(char *buf, int max)
}
}
int
int
stat
(
char
*
n
,
struct
stat
*
st
)
stat
(
c
onst
c
har
*
n
,
struct
stat
*
st
)
{
{
int
fd
;
int
fd
;
int
r
;
int
r
;
...
@@ -93,9 +93,10 @@ atoi(const char *s)
...
@@ -93,9 +93,10 @@ atoi(const char *s)
}
}
void
*
void
*
memmove
(
void
*
vdst
,
void
*
vsrc
,
int
n
)
memmove
(
void
*
vdst
,
const
void
*
vsrc
,
int
n
)
{
{
char
*
dst
,
*
src
;
char
*
dst
;
const
char
*
src
;
dst
=
vdst
;
dst
=
vdst
;
src
=
vsrc
;
src
=
vsrc
;
...
...
user.h
浏览文件 @
308a3b88
...
@@ -6,18 +6,18 @@ int fork(void);
...
@@ -6,18 +6,18 @@ int fork(void);
int
exit
(
void
)
__attribute__
((
noreturn
));
int
exit
(
void
)
__attribute__
((
noreturn
));
int
wait
(
void
);
int
wait
(
void
);
int
pipe
(
int
*
);
int
pipe
(
int
*
);
int
write
(
int
,
void
*
,
int
);
int
write
(
int
,
const
void
*
,
int
);
int
read
(
int
,
void
*
,
int
);
int
read
(
int
,
void
*
,
int
);
int
close
(
int
);
int
close
(
int
);
int
kill
(
int
);
int
kill
(
int
);
int
exec
(
char
*
,
char
**
);
int
exec
(
char
*
,
char
**
);
int
open
(
char
*
,
int
);
int
open
(
c
onst
c
har
*
,
int
);
int
mknod
(
char
*
,
short
,
short
);
int
mknod
(
c
onst
c
har
*
,
short
,
short
);
int
unlink
(
char
*
);
int
unlink
(
c
onst
c
har
*
);
int
fstat
(
int
fd
,
struct
stat
*
);
int
fstat
(
int
fd
,
struct
stat
*
);
int
link
(
c
har
*
,
char
*
);
int
link
(
c
onst
char
*
,
const
char
*
);
int
mkdir
(
char
*
);
int
mkdir
(
c
onst
c
har
*
);
int
chdir
(
char
*
);
int
chdir
(
c
onst
c
har
*
);
int
dup
(
int
);
int
dup
(
int
);
int
getpid
(
void
);
int
getpid
(
void
);
char
*
sbrk
(
int
);
char
*
sbrk
(
int
);
...
@@ -25,14 +25,14 @@ int sleep(int);
...
@@ -25,14 +25,14 @@ int sleep(int);
int
uptime
(
void
);
int
uptime
(
void
);
// ulib.c
// ulib.c
int
stat
(
char
*
,
struct
stat
*
);
int
stat
(
c
onst
c
har
*
,
struct
stat
*
);
char
*
strcpy
(
char
*
,
char
*
);
char
*
strcpy
(
char
*
,
c
onst
c
har
*
);
void
*
memmove
(
void
*
,
void
*
,
int
);
void
*
memmove
(
void
*
,
const
void
*
,
int
);
char
*
strchr
(
const
char
*
,
char
c
);
char
*
strchr
(
const
char
*
,
char
c
);
int
strcmp
(
const
char
*
,
const
char
*
);
int
strcmp
(
const
char
*
,
const
char
*
);
void
printf
(
int
,
char
*
,
...);
void
printf
(
int
,
c
onst
c
har
*
,
...);
char
*
gets
(
char
*
,
int
max
);
char
*
gets
(
char
*
,
int
max
);
uint
strlen
(
char
*
);
uint
strlen
(
c
onst
c
har
*
);
void
*
memset
(
void
*
,
int
,
uint
);
void
*
memset
(
void
*
,
int
,
uint
);
void
*
malloc
(
uint
);
void
*
malloc
(
uint
);
void
free
(
void
*
);
void
free
(
void
*
);
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论