<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
        LINE-HEIGHT: 1.5; FONT-FAMILY: Î¢ÈíÑźÚ; COLOR: #000000; FONT-SIZE: 10.5pt
}
</STYLE>

<META name=GENERATOR content="MSHTML 8.00.7600.17267"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>
<DIV>"setprogname can maximum program's portability."&nbsp; What do you mean by 
this?</DIV>
<DIV>If the program is invoked directly, the process name will be argv[0],&nbsp; 
even if not, why necessary to do&nbsp;&nbsp;set_program_name (argv[0]) ?</DIV>
<DIV>why it is necessary to invoke "bindtextdomain (PACKAGE, LOCALEDIR);" 
and&nbsp; "textdomain (PACKAGE);" ?</DIV></DIV>
<DIV>&nbsp;</DIV>
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>

<DIV><SPAN>
<DIV style="FONT-FAMILY: verdana; FONT-SIZE: 10pt">
<DIV>
<DIV>
<DIV>
<DIV>Sincerely,</DIV>
<DIV>Xiang Xu (徐祥) </DIV>
<DIV>Student ID: 10388813</DIV>
<DIV>tel: +1 (201) 918-0570</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +86 13851478402</DIV>
<DIV>qq: 185904095</DIV></DIV></DIV></DIV></DIV></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV 
style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<DIV 
style="PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; FONT-FAMILY: tahoma; BACKGROUND: #efefef; COLOR: #000000; FONT-SIZE: 12px; PADDING-TOP: 8px">
<DIV><B>From:</B>&nbsp;<A href="mailto:zding4@stevens.edu">zding4</A></DIV>
<DIV><B>Date:</B>&nbsp;2014-09-16&nbsp;22:40</DIV>
<DIV><B>To:</B>&nbsp;<A 
href="mailto:cs631apue@lists.stevens.edu">cs631apue</A></DIV>
<DIV><B>Subject:</B>&nbsp;Re: [cs631apue] starting functions in GNU Linux 
mian()</DIV></DIV></DIV>
<DIV>
<DIV>setprogname can maximum program's portability.</DIV>
<DIV>But GNU use macro to define the program name.</DIV>
<DIV>&nbsp;</DIV>
<DIV>在 09/16/2014 10:30 PM,cpunjabi 写道:</DIV>
<DIV>&gt; argv[0] always contains the name of the program. i.e if you run</DIV>
<DIV>&gt; welcome.c program, argv[0] contains "welcome". I think setlocale 
is</DIV>
<DIV>&gt; used for internationalization, LC_ALL specifies the locale for 
all</DIV>
<DIV>&gt; purposes and By setting the locale to "", we are implicitly 
assigning</DIV>
<DIV>&gt; the locale to the user's defined locale.</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; On 2014-09-16 22:15, xxu15@stevens.edu wrote:</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; Hi,</DIV>
<DIV>&gt;&gt; I found that in many GNU Linux c files, at the begining of the 
main()</DIV>
<DIV>&gt;&gt; function, there are such functions being invoked as below:</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; initialize_main (&amp;argc, &amp;argv);</DIV>
<DIV>&gt;&gt; set_program_name (argv[0]);</DIV>
<DIV>&gt;&gt; setlocale (LC_ALL, "");</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; bindtextdomain (PACKAGE, LOCALEDIR);</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>(PACKAGE);</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; Has any body figured out what they are used for ?</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; -------------------------</DIV>
<DIV>&gt;&gt; </DIV>
<DIV>&gt;&gt; Sincerely,</DIV>
<DIV>&gt;&gt; Xiang Xu (徐祥)</DIV>
<DIV>&gt;&gt; Student ID: 10388813</DIV>
<DIV>&gt;&gt; tel: +1 (201) 918-0570</DIV>
<DIV>&gt;&gt;&nbsp; +86 13851478402</DIV>
<DIV>&gt;&gt; qq: 185904095</DIV>
<DIV>&gt;&gt; _______________________________________________</DIV>
<DIV>&gt;&gt; cs631apue mailing list</DIV>
<DIV>&gt;&gt; cs631apue@lists.stevens.edu</DIV>
<DIV>&gt;&gt; https://lists.stevens.edu/mailman/listinfo/cs631apue</DIV>
<DIV>&gt; _______________________________________________</DIV>
<DIV>&gt; cs631apue mailing list</DIV>
<DIV>&gt; cs631apue@lists.stevens.edu</DIV>
<DIV>&gt; https://lists.stevens.edu/mailman/listinfo/cs631apue</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>_______________________________________________</DIV>
<DIV>cs631apue mailing list</DIV>
<DIV>cs631apue@lists.stevens.edu</DIV>
<DIV>https://lists.stevens.edu/mailman/listinfo/cs631apue</DIV></DIV></BODY></HTML>