作者JeffHung (御风只配做笨木头)
看板Soft_Job
标题Re: [讨论] UNIX上的许功盖问题
时间Fri Sep 26 13:02:11 2008
※ 引述《eviliori (穿着88s的恶魔)》之铭言:
: 小弟在Unix上用c开发系统,资料库是使用db2
: 最近碰上个棘手的问题,就是顶顶大名的许功盖问题
: 系统在编译程式时,遇到这几个字就编译不过
: 有试着在字後面加上\,但仍是不一定所有的Unix环境都可以编译过
: 请问有什麽一劳永逸的解决方式呢?
解法:不要在程式码里,放中文。请以 gettext、Windows 的 String
Table 等机制取代。
See:
http://www.jeffhung.net/blog/articles/jeffhung/383/
Standard C++98 2.2.1:
The basic source character set consists of 96 characters: the
space character, the control characters representing horizontal
tab, vertical tab, form feed, and new-line, plus the following
91 graphical characters:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " '
--
我的微笑,坚持要有鼻子。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.37.142
1F:推 luciferii:最有可能的是原本 tablename 是中文,但是不能动db 09/26 14:06
2F:推 luciferii:如果是这种情形,最直接的回避方式就是不直接用tblname 09/26 14:08
3F:→ luciferii:而是每次凑 SQL statement 时,tablename的地放方... 09/26 14:09
4F:→ luciferii:...都去SYSCAT.TABLES里捞 XD 很蠢可是很直接:P 09/26 14:09