LLVM API Documentation
#include <Program.h>
Static Public Member Functions | |
Methods | |
| static Path | FindProgramByName (const std::string &name) |
| Construct a Program by finding it by name. | |
| static int | ExecuteAndWait (const Path &path, const char **args, const char **env=0, const sys::Path **redirects=0, unsigned secondsToWait=0, unsigned memoryLimit=0, std::string *ErrMsg=0) |
Executes the program with the given set of args. | |
| static bool | ChangeStdinToBinary () |
| static bool | ChangeStdoutToBinary () |
This class provides an abstraction for programs that are executable by the operating system. It provides a platform generic way to find executable programs from the path and to execute them in various ways. The sys::Path class is used to specify the location of the Program.
Definition at line 28 of file Program.h.
| static Path llvm::sys::Program::FindProgramByName | ( | const std::string & | name | ) | [static] |
Construct a Program by finding it by name.
This static constructor (factory) will attempt to locate a program in the operating system's file system using some pre-determined set of locations to search (e.g. the PATH on Unix).
| nothing |
Referenced by llvm::FindExecutable().
| static int llvm::sys::Program::ExecuteAndWait | ( | const Path & | path, | |
| const char ** | args, | |||
| const char ** | env = 0, |
|||
| const sys::Path ** | redirects = 0, |
|||
| unsigned | secondsToWait = 0, |
|||
| unsigned | memoryLimit = 0, |
|||
| std::string * | ErrMsg = 0 | |||
| ) | [static] |
Executes the program with the given set of args.
This function executes the program using the arguments provided and waits for the program to exit. This function will block the current program until the invoked program exits. The invoked program will inherit the stdin, stdout, and stderr file descriptors, the environment and other configuration settings of the invoking program. If Path::executable() does not return true when this function is called then a std::string is thrown.
| path | sys::Path object providing the path of the program to be executed. It is presumed this is the result of the FindProgramByName method. |
| args | A vector of strings that are passed to the program. The first element should be the name of the program. The list *must* be terminated by a null char* entry. |
| env | An optional vector of strings to use for the program's environment. If not provided, the current program's environment will be used. |
| redirects | An optional array of pointers to Paths. If the array is null, no redirection is done. The array should have a size of at least three. If the pointer in the array are not null, then the inferior process's stdin(0), stdout(1), and stderr(2) will be redirected to the corresponding Paths. When an empty Path is passed in, the corresponding file descriptor will be disconnected (ie, /dev/null'd) in a portable way. |
| secondsToWait | If non-zero, this specifies the amount of time to wait for the child process to exit. If the time expires, the child is killed and this call returns. If zero, this function will wait until the child finishes or forever if it doesn't. |
| memoryLimit | If non-zero, this specifies max. amount of memory can be allocated by process. If memory usage will be higher limit, the child is killed and this call returns. If zero - no memory limit. |
| ErrMsg | If non-zero, provides a pointer to a string instance in which error messages will be returned. If the string is non-empty upon return an error occurred while invoking the program. |
Referenced by llvm::DisplayGraph().
| static bool llvm::sys::Program::ChangeStdinToBinary | ( | ) | [static] |
Referenced by llvm::MemoryBuffer::getSTDIN().
| static bool llvm::sys::Program::ChangeStdoutToBinary | ( | ) | [static] |
Referenced by llvm::raw_fd_ostream::raw_fd_ostream(), and llvm::WriteBitcodeToFile().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.