找回密码
 注册
搜索
查看: 633|回复: 4

希望MTK高手能帮帮忙:初学MTK遇到的2个问题

[复制链接]
发表于 2008-9-7 18:58:37 | 显示全部楼层 |阅读模式
1、
引用其他目录的头文件的路径在哪里设置的?

MSDOS工程,调用其他目录下的头文件,为什么不用写相对/绝对路径,例如:#include "lcd_sw_inc.h",
本来应该是“D:\V880_ALL\custom\drv\LCD\V880_CT024TN02_HX8347_LCM\lcd_sw_inc.h ”。我在VC6.0工程的设置->头文件目录 里也没有看到设置,在VC6.0的工具 ->选项->目录也没有看到设置路径,为什么?


2、控制台程序启动入口在哪里修改了?

MSDOS模拟器,明明是控制台程序,可是为什么启动和普通的控制台程序不大一样。普通控制台程序启动调用栈如下:
main(int 1, char * * 0x00430e90) line 8
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 7c816fd7()

而MOSDOS的调用栈如下:
MtkWinMainStart(void * 0x00000000) line 467
_threadstartex(void * 0x042217f0) line 212 + 13 bytes
KERNEL32! 7c80b683()

它的程序入口(mainCRTStartup)如何被改掉的?
发表于 2008-9-9 01:31:33 | 显示全部楼层
解答:
1. MoDis目录下多个*.dsp工程, 如mmi_framework.dsp, 它的头文件路径和宏的定义是放在文件 mmi_framework.ini中
2. MoDIS模拟器为一个控制台作为主控程序, 通过DLL调用的方式来启动一个MFC写的WIN32对话框,
    对话框被封装在DLL中.整个工程的入口仍然是main函数,不过这个main函数藏得很深,它被安放在oscar.lib这个库中,你可以在LINK的时候去掉oscar.lib试试看, msdev会告诉你没有定义main函数啦,哈哈.
之所以要通过console来显示dialog,是因为MTK想real-time实时地debug some string to console, that is , redirect WIN32 debug output to console, 也就是说,在WIN32的应用程序当中使用printf, cout 像它们在console当中一样,这是一个很专业的术语叫"重定向"redirect
点评回复

使用道具 举报

发表于 2008-9-9 01:43:10 | 显示全部楼层
在sourceforge上, 我已经reengineer MTK的模拟器, 你可以通过WinCVS客户端Access:
执行cvs -d:pserver:anonymous@emuphone.cvs.sourceforge.net:/cvsroot/emuphone login
再执行cvs -z3 -d:pserver:anonymous@emuphone.cvs.sourceforge.net:/cvsroot/emuphone co -P emuphone 来checkout工程, 或直接通过WEB方式view the repository: http://emuphone.cvs.sourceforge.net/emuphone/
点评回复

使用道具 举报

 楼主| 发表于 2008-9-10 17:24:43 | 显示全部楼层
今天上来看到有两位高手解答,非常开心,郁闷了我好久了,真心感谢!先谢谢你们,再认真研究你们的解答!

再次感谢!
点评回复

使用道具 举报

 楼主| 发表于 2008-9-10 18:07:02 | 显示全部楼层
其实,如果仅仅是想在控制台重定向输出,没有必要先启动一个控制台程序,然后启动win32程序这么麻烦的。

我以前做windows程序,一般是通过AllocConsole创建一个控制台,然后用WriteConsole重定向在控制台输出一些调试信息,最后用FreeConsole关闭控制台。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-29 06:37 , Processed in 0.045779 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表