Tcl_FindExecutable, Tcl_GetNameOfExecutable − identify or return the name of the binary file containing the application


#include <tcl.h>


const char *


char *argv0 (in)

The first command-line argument to the program, which gives the application’s name.



The Tcl_FindExecutable procedure computes the full path name of the executable file from which the application was invoked and saves it for Tcl’s internal use. The executable’s path name is needed for several purposes in Tcl. For example, it is needed on some platforms in the implementation of the load command. It is also returned by the info nameofexecutable command.

On UNIX platforms this procedure is typically invoked as the very first thing in the application’s main program; it must be passed argv[0] as its argument. It is important not to change the working directory before the invocation. Tcl_FindExecutable uses argv0 along with the PATH environment variable to find the application’s executable, if possible. If it fails to find the binary, then future calls to info nameofexecutable will return an empty string.

Tcl_GetNameOfExecutable simply returns a pointer to the internal full path name of the executable file as computed by Tcl_FindExecutable. This procedure call is the C API equivalent to the info nameofexecutable command. NULL is returned if the internal full path name has not been computed or unknown.


binary, executable file

More Linux Commands

flipdiff(1) - exchange the order of two incremental patches
flipdiff exchanges the order of two patch files that apply one after the other. The patches must be clean: the context lines must match and there should be no m

freshclam.conf(5) - Configuration file for Clam AntiVirus da
The file freshclam.conf configures the Clam AntiVirus Database Updater, freshclam(1). FILE FORMAT The file consists of comments and options with arguments. Each

gettext(1) - translate message (Commands - Linux man page)
The gettext program translates a natural language message into the users language, by looking up the translation in a message catalog. Display native language t

gnutls_openpgp_privkey_export_subkey_dsa_raw.3 - This function will export the DSA private keys parameters found in the given certificate. The new parameters wi

systemd.swap(5) - systemd swap configuration files (ManPage)
A unit configuration file whose name ends in .swap encodes information about a swap device or file for memory paging controlled and supervised by systemd. This

bindtags(n) - Determine which bindings apply to a window, an
When a binding is created with the bind command, it is associated either with a particular window such as .a.b.c, a class name such as Button, the keyword all,

mktime(3) - transform date and time to broken-down time or A
The ctime(), gmtime() and localtime() functions all take an argument of data type time_t, which represents calendar time. When interpreted as an absolute time v

SDL_PollEvent(3) - Polls for currently pending events.......
Polls for currently pending events, and returns 1 if there are any pending events, or 0 if there are none available. If event is not NULL, the next event is rem

sginfo(8) - access mode page information for a SCSI (or ATAP
sginfo is a port of the Linux scsiinfo program by Eric Youngdale. It uses SCSI generic (sg) devices; however in some cases the high level device name (i.e. sd,

AutoLoader(3pm) - load subroutines only on demand (ManPage)
The AutoLoader module works with the AutoSplit module and the __END__ token to defer the loading of some subroutines until they are used rather than loading the

XtGetActionList(3) - obtain class action list (Man Page)....
XtGetActionList returns the action table defined by the specified widget class. This table does not include actions defined by the superclasses. If widget_class

git-rerere(1) - Reuse recorded resolution of conflicted merg
In a workflow employing relatively long lived topic branches, the developer sometimes needs to resolve the same conflicts over and over again until the topic br

We can't live, work or learn in freedom unless the software we use is free.