bbs.ChinaUnix.net
首页 | 微博 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


如何使编译后的程序运行时将源程序原样打印出来

  首页 » 论坛 » C/C++ »
[打印] [收藏] [本帖文本页] [推荐此主题给朋友]

如何使编译后的程序运行时将源程序原样打印出来



如何使编译后的程序运行时将源程序原样打印出来

用宏??
是不是脑筋急转弯?
__________________________________
Freedom is not free!
--------------------------------------------
政治立场坐标 0.8
文化立场坐标 0.8
经济立场坐标 0.2
--------------------------------------------
http://zh.wikipedia.org/wiki/User:JohnBull



如何使编译后的程序运行时将源程序原样打印出来

不是的,是一个竞赛题目



如何使编译后的程序运行时将源程序原样打印出来

那么源程序在不在硬盘里,
还是只有可执行程序,没有源程序。
如果源程序存在,倒可是打印出来。
__________________________________
山一程,水一程,身向榆关那畔行,夜深千帐灯。
风一更,雪一更,聒碎乡心梦不成,故园无此声。



如何使编译后的程序运行时将源程序原样打印出来

  1. char s[] ={
  2. 10, 10, 105, 110, 116, 10, 109, 97, 105, 110, 32, 40, 41, 123, 10, 9, 105, 110, 116, 32, 105, 59, 10, 10, 9, 112, 117, 116, 115, 32, 40, 34, 99, 104, 97, 114, 32, 115, 91, 93, 32, 61, 123, 34, 41, 59, 10, 9, 102, 111, 114, 32, 40, 105, 61, 48, 59, 32, 115, 91, 105, 93, 59, 32, 105, 43, 43, 41, 10, 9, 9, 112, 114, 105, 110, 116, 102, 32, 40, 34, 37, 100, 44, 32, 34, 44, 32, 115, 91, 105, 93, 41, 59, 10, 9, 112, 114, 105, 110, 116, 102, 32, 40, 34, 48, 125, 59, 34, 41, 59, 10, 9, 112, 117, 116, 115, 32, 40, 115, 41, 59, 10, 125, 0};

  3. int
  4. main (){
  5.         int i;

  6.         puts ("char s[] ={");
  7.         for (i=0; s[i]; i++)
  8.                 printf ("%d, ", s[i]);
  9.         printf ("0};");
  10.         puts (s);
  11. }
复制代码



如何使编译后的程序运行时将源程序原样打印出来

  1. #include <stdio.h>;

  2. #define BUFSZ 4096

  3. main()
  4. {
  5.         int f, r;
  6.         char b[BUFSZ];

  7.         if ( ( f = open( __FILE__, O_RDONLY ) ) >;= 0 ) {
  8.                 while ( ( r = read( f, b, BUFSZ ) ) >; 0 )
  9.                         fwrite( b, r, 1, stdout );
  10.                 close( f );
  11.         }
  12. }
复制代码
__________________________________
放自己的屁,让别人去闻吧!

有俺家属的帖子要水,没俺家属的帖子创造家属也要水!



如何使编译后的程序运行时将源程序原样打印出来

很明显,FH的代码很高明!



如何使编译后的程序运行时将源程序原样打印出来

两位老大,能不能解释一下,毕竟这里新手多
__________________________________
愿以此功德 消除宿现业
增长诸福慧 圆成胜善根
所有刀兵劫 及与饥馑等
悉皆尽灭除 人各习礼让
一切出资者 展转流通者
现眷咸安乐 先亡获超升
风雨常调顺 人民悉康宁
法界诸含识 同证无上道



如何使编译后的程序运行时将源程序原样打印出来

第一个程序,把数组里面的数字对应成ascii码看看是什么东东。
第二个程序,把当然可执行程序的源文件从硬盘读出输出到屏幕。
__________________________________
山一程,水一程,身向榆关那畔行,夜深千帐灯。
风一更,雪一更,聒碎乡心梦不成,故园无此声。



如何使编译后的程序运行时将源程序原样打印出来

[quote]原帖由 "linuxbug"]很明显,FH的代码很高明![/quote 发表:

我以前只知道FH的那种方法,
没想到还有win_hate的这种方法。
更有创意。
__________________________________
山一程,水一程,身向榆关那畔行,夜深千帐灯。
风一更,雪一更,聒碎乡心梦不成,故园无此声。


  首页 » 论坛 » C/C++ »
Copyright © 2001-2010 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP