-Hide


This option deletes local symbol name information from the output file.

[Specification format]

-Hide

 

-

Interpretation when omitted

None

[Detailed description]

-

This option deletes local symbol name information from the output file.

-

Since the name information regarding local symbols is deleted, local symbol names cannot be checked even if the file is opened with a binary editor.
This option does not affect the operation of the generated file.

-

Use this option to keep the local symbol names secret.

-

The following types of symbols are hidden:

-

C source: Variable or function names specified with the static qualifiers

-

C source: Label names for the goto statements

-

Assembly source: Symbol names of which external definition (reference) symbols are not declared

The entry function name is not hidden.

[Example of use]

-

To delete local symbol name information from the output file, describe as:

>rlink a.obj b.obj -hide

 

The C source example in which this option is valid is shown below.

int g1;
int g2=1;
const int g3=3;
static int s1;          //<--- The static variable name will be hidden.
static int s2=1;        //<--- The static variable name will be hidden.
static const int s3=2;  //<--- The static variable name will be hidden.
 
static int sub1()       //<--- The static variable name will be hidden.
{
    static int s1;      //<--- The static variable name will be hidden.
    int l1;
    
    s1 = l1; l1 = s1;
    return(l1);
}
 
int main()
{
    sub1();
    if (g1==1)
        goto L1;
    g2=2;
L1:                     //<--- The label name of the goto statement will be hidden.
    return(0);
}

[Remark]

-

This option is valid only when the -form={absolute|relocate|library} option is specified.

-

When this option is specified with the external variable access optimization, do not specify it for the first linking, and specify it only for the second linking.

-

The symbol names in the debug information are not deleted by this option.