6-14
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
6 C COMPilEr
6.5 filter function for Shift JiS Code
Description of function
The original GNU preprocessor/compiler is not fully compatible with the Shift JIS code (hereafter written as the
“SJIS code”). This means that for an SJIS character code like “ ” (0x945c), the “0x5c” part of the code will be
incorrectly judged as a line connector (\);the character code will not be processed correctly.
Example:
i_Val = 0;
//
i_Val = 1;
←
This line is joined to the above line and processed as a comment.
To prevent such errors, the preprocessor/compiler in package versions 1.5.0 and later incorporates a function to
filter SJIS codes.
When the code “0x5c” is encountered, this filter function checks one byte immediately before that code and
determines whether “0x5c” is a line connector (‘\’) or the second byte of an SJIS code.
If the function determines the code constitutes the second byte of an SJIS code, it performs a process to prevent
“0x5c” from being processed as a line connector (‘\’).
This function is compatible with the following files:
•
C source files
•
Header files included from C files
•
Assembly source files
•
Header files included from assembly source files
Specify the -mno-sjis-filt option to disable this filter option.
notes
•
The -traditional-cpp option is not supported but is available in the preprocessor. The filter function will not
operate properly if this option is specified while building a project.
The -traditional-cpp option is designed to execute a preprocess in accordance with a rule in place before ISO
specifications were established.
•
If the filter process is enabled, the output of code for a wide character (2-byte) enclosed in single quotation
marks (‘) will differ from that output by versions before 1.5.0.
The prefix “L” must be added to ensure correct output.
Example:
Inserting a wide character (2-byte) “
” (SJIS code: 0x8bf3)
•
When a version before 1.5.0 is used or when the -mno-sjis-filt option is specified in versions 1.5.0 or later
int i_Val =
‘
’
;
→
i_Val is replaced by 0x8bf3
•
When the -mno-sjis-filt option is not specified in versions 1.5.0 or later
int i_Val = L
’
’
;
→
i_Val is replaced by 0x8bf3 if the prefix “L” is specified. If the prefix
“L” is not specified, i_Val is replaced by 0xfff3.
Содержание S5U1C17001C
Страница 6: ......
Страница 17: ...1 General S5U1C17001C Manual 1 General ...
Страница 18: ......
Страница 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Страница 22: ......
Страница 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Страница 30: ......
Страница 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Страница 104: ......
Страница 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Страница 122: ......
Страница 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Страница 366: ......
Страница 385: ...7 Library S5U1C17001C Manual 7 library ...
Страница 386: ......
Страница 404: ...7 18 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 7 liBrary THIS PAGE IS BLANK ...
Страница 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Страница 406: ......
Страница 438: ...8 32 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 8 aSSEMBlEr THIS PAGE IS BLANK ...
Страница 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Страница 440: ......
Страница 448: ...9 8 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 9 linkEr THIS PAGE IS BLANK ...
Страница 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Страница 450: ......
Страница 625: ...10 174 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 10 DEBUggEr THIS PAGE IS BLANK ...
Страница 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Страница 627: ......
Страница 695: ...11 68 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 11 OTHEr TOOlS THIS PAGE IS BLANK ...
Страница 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...