作者kikiqqp (喵食罐头)
看板Programming
标题Fw: [问题] 如何同一个程式在不同作业系统编译执行
时间Tue Sep 25 11:15:59 2012
※ [本文转录自 C_and_CPP 看板 #1GNyRIFc ]
作者: kikiqqp (喵食罐头) 看板: C_and_CPP
标题: [问题] 如何同一个程式在不同作业系统编译执行
时间: Mon Sep 24 10:34:56 2012
标题有点竦动,但我想问的不太清楚要怎麽描述标题
所谓不同作业系统是指Windows 9x/DOS
以前Windows 3.x/9.x时代时有些执行档在视窗下执行会出现视窗介面
在DOS下执行会有文字介面(或进入绘图模式),功能相当。不会出现错误
很好奇的想请教要如何做到这点呢?
编写两个不同的程式码是我可以理解的部分(这样函式可以共用?)
但起动是怎麽做判断,在main中判断作业系统然後跳到该执行的部分吗?
不过编译器不是会因为程式码内容编译时就决定好所要联结的作业系统资源?
问题有点天,不过一时想不懂,也不知道网路上有没有相关例子和code可以参考
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.117.222
1F:推 stupid0319:PE结构要改 09/24 10:47
2F:→ kikiqqp:似乎比较少谈论到PE的部分,好像只有病毒插入比较有提及orz 09/24 10:54
3F:推 stupid0319:WIN32的PE中有一个DOS程式区块,可以插入DOS程式码 09/24 11:00
4F:→ stupid0319:要加大DOS区块,或是另找空间,把程式码用组语写进去 09/24 11:01
5F:→ stupid0319:执行DOS时会进DOS程式码,执行WIN时会进WIN程式码 09/24 11:02
6F:→ kikiqqp:我看到winnt.h有_IMAGE_DOS_HEADER的部分,看来我得先由 09/24 11:05
7F:→ kikiqqp:这边下手研究看看.....谢谢 09/24 11:05
8F:推 stupid0319:利用修改PE把 DOS程式+WIN程式合体 这部份我也研究很久 09/24 11:13
9F:推 Bencrie:PE 最前面一块不就是印出一行讯息的 realmode DOS 程式吗 09/24 11:23
10F:→ kikiqqp:我在想是不是可以先编译为组语然後插入在那个段落里 09/25 11:15
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: kikiqqp (122.116.117.222), 时间: 09/25/2012 11:15:59