我经常读到编译器在转换为PChar.
的主要目的PChar是调用库中的外部代码,这些库需要一个以零结尾的字符数组(C 风格的“字符串”)。
PChar是PWideCharUnicode Delphi 上的别名和PAnsiChar非 Unicode Delphi 上的别名的类型。
另一方面, Delphi 字符串(string= AnsiString/ UnicodeString,我不是在WideString这里谈论,更不用说......)具有隐藏长度而不是终止字符。ShortString它们也被引用计数并在写入时使用复制。
Delphi 字符串是否自动分配并使用隐式 #0 字符保持一个字符长,以便更轻松地转换为PChar(PAnsiChar / PWideChar) 还是编译器在遇到转换时检查和调整字符串PChar?