如何查看ubuntu的源代码
听说ubuntu是可以查看源代码的,是最底层的那种!也就是用C或C++写的那一种,没经过编译的!如何查?用哪种工具?我要的是像这样的程序代码:#include"stdio...
听说ubuntu是可以查看源代码的,是最底层的那种!也就是用C或C++写的那一种,没经过编译的!如何查?用哪种工具?
我要的是像这样的程序代码:
#include "stdio.h"
main()
{
int yy,mm,len;
printf("year,month=");
scanf("%d %d",&yy,&mm);
switch(mm)
{
case 1:case 3:case 5:case 7:
case 8:case 10:case 12:len=31;break;
case 4:case 6:case 9:case 11:len=30;break;
case 2:
if(yy%4==0&&yy%100!=0||yy%400==0)
len=29;
else len=28;
default:printf("input error");
break;
}
printf("the length of %d %d is %d\n",yy,mm,len);
}
哪里有呀?debian系统读取到的是不是这样?谁有下载地址什么的呀,给条明路!谢谢! 展开
我要的是像这样的程序代码:
#include "stdio.h"
main()
{
int yy,mm,len;
printf("year,month=");
scanf("%d %d",&yy,&mm);
switch(mm)
{
case 1:case 3:case 5:case 7:
case 8:case 10:case 12:len=31;break;
case 4:case 6:case 9:case 11:len=30;break;
case 2:
if(yy%4==0&&yy%100!=0||yy%400==0)
len=29;
else len=28;
default:printf("input error");
break;
}
printf("the length of %d %d is %d\n",yy,mm,len);
}
哪里有呀?debian系统读取到的是不是这样?谁有下载地址什么的呀,给条明路!谢谢! 展开
3个回答
展开全部
下面以查看ls这个命令的源代码为例:
1.输入 which ls
liuwei@liuwei:~/test$ which ls
/bin/ls
2.输入sudo dpkg -S /bin/ls
liuwei@liuwei:~/test$ sudo dpkg -S /bin/ls
coreutils: /bin/ls
3.输入sudo apt-get source coreutilsliuwei@liuwei:~/test$ sudo apt-get source coreutils
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
需要下载 12.3 MB 的源代码包。
获取:1 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (dsc) [1,335 B]
获取:2 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (tar) [12.3 MB]
获取:3 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (diff) [30.6 kB]
下载 12.3 MB,耗时 56秒 (218 kB/s)
gpgv: 于 2014年03月24日 星期一 15时03分17秒 CST 创建的签名,使用 DSA,钥匙号 C6CEA0C9
gpgv: 无法检查签名:找不到公钥
dpkg-source: 警告: 对 ./coreutils_8.21-1ubuntu5.dsc 校验签名失败
dpkg-source: info: extracting coreutils in coreutils-8.21
dpkg-source: info: unpacking coreutils_8.21.orig.tar.gz
dpkg-source: info: applying coreutils_8.21-1ubuntu5.diff.gz
此时可能会发生如上所述的找不到公钥的情况,解决方法如下:
先sudo apt-get udpate
liuwei@liuwei:~/test$ sudo apt-get update
再输入 gpg --keyserver subkeys.pgp.net --recv C6CEA0C9,其中C6CEA0C9为上述钥匙号
liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 公钥服务器超时
gpg: 从公钥服务器接收失败:公钥服务器错误
此时可能会出现从公钥服务器接收失败:公钥服务器错误的提示,解决方法如下:
输入sudo apt-get update
liuwei@liuwei:~/test$ sudo apt-get update
再gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 密钥 C6CEA0C9:公钥“Adam Conrad <adconrad@0c3.net>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1
再gpg --export --armor C6CEA0C9 | sudo apt-key add -
liuwei@liuwei:~/test$ gpg --export --armor C6CEA0C9 | sudo apt-key add -
OK
此时再 ls,会发现多出了如下文件:
liuwei@liuwei:~/test$ ls
coreutils-8.21 coreutils_8.21-1ubuntu5.dsc
coreutils_8.21-1ubuntu5.diff.gz coreutils_8.21.orig.tar.gz
在coreutils-8.21中就可以查看源码了。
1.输入 which ls
liuwei@liuwei:~/test$ which ls
/bin/ls
2.输入sudo dpkg -S /bin/ls
liuwei@liuwei:~/test$ sudo dpkg -S /bin/ls
coreutils: /bin/ls
3.输入sudo apt-get source coreutilsliuwei@liuwei:~/test$ sudo apt-get source coreutils
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
需要下载 12.3 MB 的源代码包。
获取:1 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (dsc) [1,335 B]
获取:2 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (tar) [12.3 MB]
获取:3 http://debian.ustc.edu.cn/ubuntu/ trusty/main coreutils 8.21-1ubuntu5 (diff) [30.6 kB]
下载 12.3 MB,耗时 56秒 (218 kB/s)
gpgv: 于 2014年03月24日 星期一 15时03分17秒 CST 创建的签名,使用 DSA,钥匙号 C6CEA0C9
gpgv: 无法检查签名:找不到公钥
dpkg-source: 警告: 对 ./coreutils_8.21-1ubuntu5.dsc 校验签名失败
dpkg-source: info: extracting coreutils in coreutils-8.21
dpkg-source: info: unpacking coreutils_8.21.orig.tar.gz
dpkg-source: info: applying coreutils_8.21-1ubuntu5.diff.gz
此时可能会发生如上所述的找不到公钥的情况,解决方法如下:
先sudo apt-get udpate
liuwei@liuwei:~/test$ sudo apt-get update
再输入 gpg --keyserver subkeys.pgp.net --recv C6CEA0C9,其中C6CEA0C9为上述钥匙号
liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 公钥服务器超时
gpg: 从公钥服务器接收失败:公钥服务器错误
此时可能会出现从公钥服务器接收失败:公钥服务器错误的提示,解决方法如下:
输入sudo apt-get update
liuwei@liuwei:~/test$ sudo apt-get update
再gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
liuwei@liuwei:~/test$ gpg --keyserver subkeys.pgp.net --recv C6CEA0C9
gpg: 下载密钥‘C6CEA0C9’,从 hkp 服务器 subkeys.pgp.net
gpg: 密钥 C6CEA0C9:公钥“Adam Conrad <adconrad@0c3.net>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1
再gpg --export --armor C6CEA0C9 | sudo apt-key add -
liuwei@liuwei:~/test$ gpg --export --armor C6CEA0C9 | sudo apt-key add -
OK
此时再 ls,会发现多出了如下文件:
liuwei@liuwei:~/test$ ls
coreutils-8.21 coreutils_8.21-1ubuntu5.dsc
coreutils_8.21-1ubuntu5.diff.gz coreutils_8.21.orig.tar.gz
在coreutils-8.21中就可以查看源码了。
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
源代码只有在编译之后才能使用。因为每一台计算机的底层指令都有差别,哪怕这个差别无穷趋进于零。
所以说,如果你想要察看原始代码,而且是没有编译过的,与其说找工具还原代码,还不如去直接上网搜索源代码包。据我所知,红旗、FedoraCore都有源代码光盘的,Ubuntu也有,你上网搜索一下需要的版本就可以了。
当然,一本开发手册可以很大限度的帮助你理解和掌握它的结构。
所以说,如果你想要察看原始代码,而且是没有编译过的,与其说找工具还原代码,还不如去直接上网搜索源代码包。据我所知,红旗、FedoraCore都有源代码光盘的,Ubuntu也有,你上网搜索一下需要的版本就可以了。
当然,一本开发手册可以很大限度的帮助你理解和掌握它的结构。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在/usr/src/下面有你的linux的全部源代码,没有耐心和足够的c语言编程经验的话不要去看了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询