1) macro只作用于source,不作用于resource
2) 需要全局宏,在mmp hrh 包含公共头文件,source和resource包括loc或rls 都包含hrh
最好只使用
#define XXX_VER
#ifdef XXX_VER
#endif
其他条件宏,不一定所有sdk或IDE都识别
3) bld.inf 使用 #ifdef EKA2 区分三版 包含其他模块的bld.inf 比 包含mmp更清晰
4) mk文件中不能用空格,只能用TAB,和传统makefile格式一样
5)切忌用Windows2003编辑,2007编辑之后的编译能通过,但系统不识别
Open the rtf file in a text editor and delete the formattinginstruction that Word has created:
* {/*/wgrffmtfilter XXXX} in Word version 11.8134.8132, or
* {/*/generator Microsoft Word 10.0.6612;} in Word version 10.0.6612.
6) loc rls 中使用 CHARACTER_SET UTF8 carbide Text file encoding 使用UTF8
7) 二版的程序文件名和目录必须相同
8) pkg 使用 UTF-16
9) Carbide 个人习惯
General ->Appearance -> Colors and Fonts ->Text Font->Fixedsys 常规
General ->Editor->Text Editor-> Insert Space for Tab 4 /Show Print Margin 80 / Show line numbers
General ->WorkSpace->UTF-8
C/C++ -> Editor -> Syntax Coloring
偏好全在 org.eclipse.core.runtime/.settings
10) 安全判断版本 #if defined(EKA2) || defined(__SERIES60_3X__)
11)错误提示:KERN-EXEC 46权限不足报错12)3版启动 C:/private/101f875a/import/[2002FFFF].rsc UID与pkg UID一致
13)当前所在盘符
UI环境
CEikonEnv::Static()->EikAppUi()->Application()->AppFullName()[0]
EXE中
RProcess().FileName()[0]
MDL中
BaflUtils::FileExists
14)异步的方法必须要全部使用异步回调
15)不会访问冲突的扫描文件方法
void TOpenFileScan::NextL(CFileList*& aFileList);
TInt RFs::Entry(const TDesC& aName,TEntry& anEntry) const;
Entry::iSize
TInt RFs::ReadFileSection(const TDesC& aName,TInt aPos,TDes8& aDes,TInt aLength) const;
16)基于节约内存考虑,dll不允许全局变量
错误:dll has uninitialised data.
解决办法:
mmp中 添加 OPTION GCC -save-temps
在abld同级目录生成的 .ii .s文件中,搜索".bss"