本文整理汇总了C++中LnkMsg函数的典型用法代码示例。如果您正苦于以下问题:C++ LnkMsg函数的具体用法?C++ LnkMsg怎么用?C++ LnkMsg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LnkMsg函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ChkElfData
void ChkElfData( void )
/****************************/
{
group_entry *group;
symbol * sym;
NumExports = NumImports = 0;
for( sym = HeadSym; sym != NULL; sym = sym->link ) {
if( IsSymElfImported(sym) ) {
NumImports++;
} else if( IsSymElfExported(sym) ) {
if( !(sym->info & SYM_DEFINED) ) {
LnkMsg( ERR+MSG_EXP_SYM_NOT_FOUND, "s", sym->name );
}
NumExports++;
}
}
InitStringTable( &SymStrTab, FALSE );
AddCharStringTable( &SymStrTab, '\0' );
ElfSymTab = CreateElfSymTable( NumImports + NumExports + NumGroups,
&SymStrTab);
for( group = Groups; group != NULL; group = group->next_group ) {
if( group->totalsize != 0 ) {
AddSymElfSymTable( ElfSymTab, group->sym );
}
}
for( sym = HeadSym; sym != NULL; sym = sym->link ) {
if( IsSymElfImpExp(sym) ) {
AddSymElfSymTable(ElfSymTab, sym);
}
}
}
示例2: ProcCopyright
bool ProcCopyright( void )
/************************/
{
struct tm *currtime;
time_t thetime;
unsigned year;
char *copy_year;
if( !GetToken( SEP_EQUALS, TOK_INCLUDE_DOT ) && !GetToken( SEP_NO, TOK_INCLUDE_DOT ) ) {
if( FmtData.u.nov.copyright != NULL ) {
_LnkFree( FmtData.u.nov.copyright ); // assume second is correct.
}
_ChkAlloc( FmtData.u.nov.copyright, DEFAULT_COPYRIGHT_LENGTH + 1 );
memcpy(FmtData.u.nov.copyright,DEFAULT_COPYRIGHT,DEFAULT_COPYRIGHT_LENGTH+1);
copy_year = FmtData.u.nov.copyright + YEAR_OFFSET;
thetime = time( NULL );
currtime = localtime( &thetime );
for( year = currtime->tm_year + 1900; year > 0; year /= 10 ) {
*copy_year = '0' + (year % 10);
copy_year--;
}
} else {
if( Token.len > MAX_COPYRIGHT_LENGTH ) {
LnkMsg( LOC+LINE+WRN+MSG_VALUE_TOO_LARGE, "s", "copyright" );
} else {
if( FmtData.u.nov.copyright != NULL ) {
_LnkFree( FmtData.u.nov.copyright ); // assume second is correct.
}
FmtData.u.nov.copyright = tostring();
}
}
return( true );
}
示例3: CacheOpen
bool CacheOpen( file_list *list )
/**************************************/
{
infilelist *file;
unsigned numblocks;
char **cache;
if( list == NULL )
return( TRUE );
file = list->file;
if( file->flags & INSTAT_IOERR )
return( FALSE );
if( DoObjOpen( file ) ) {
file->flags |= INSTAT_IN_USE;
} else {
file->flags |= INSTAT_IOERR;
return( FALSE );
}
if( file->len == 0 ) {
file->len = QFileSize( file->handle );
if( file->len == 0 ) {
LnkMsg( ERR+MSG_BAD_OBJECT, "s", file->name );
file->flags |= INSTAT_IOERR;
return( FALSE );
}
}
if( !(file->flags & INSTAT_SET_CACHE) ) {
if( LinkFlags & CACHE_FLAG ) {
file->flags |= INSTAT_FULL_CACHE;
} else if( LinkFlags & NOCACHE_FLAG ) {
file->flags |= INSTAT_PAGE_CACHE;
} else {
if( file->flags & INSTAT_LIBRARY ) {
file->flags |= INSTAT_PAGE_CACHE;
} else {
file->flags |= INSTAT_FULL_CACHE;
}
}
}
if( file->cache == NULL ) {
if( file->flags & INSTAT_FULL_CACHE ) {
_ChkAlloc( file->cache, file->len );
if( file->currpos != 0 ) {
QLSeek( file->handle, 0, SEEK_SET, file->name );
}
QRead( file->handle, file->cache, file->len, file->name );
file->currpos = file->len;
} else {
numblocks = NumCacheBlocks( file->len );
_Pass1Alloc( file->cache, numblocks * sizeof( char * ) );
cache = file->cache;
while( numblocks > 0 ) {
*cache = NULL;
cache++;
numblocks--;
}
}
}
return( TRUE );
}
示例4: InitLoadFile
void InitLoadFile( void )
/***********************/
/* open the file, and write out header info */
{
DEBUG(( DBG_OLD, "InitLoadFile()" ));
LnkMsg( INF+MSG_CREATE_EXE, "f" );
}
示例5: DoDefaultSystem
static void DoDefaultSystem( void )
/*********************************/
/* first hint about format being 32-bit vs. 16-bit (might distinguish between
* os/2 v1 & os/2 v2), and if that doesn't decide it, haul in the default
* system block */
{
if( (LinkState & FMT_DECIDED) == 0 ) {
if( LinkState & FMT_SEEN_64_BIT ) {
HintFormat( MK_64BIT );
} else if( LinkState & FMT_SEEN_32_BIT ) {
HintFormat( MK_32BIT );
} else {
HintFormat( MK_16BIT | MK_QNX );
}
if( (LinkState & FMT_DECIDED) == 0 ) {
if( LinkState & FMT_SPECIFIED ) {
LnkMsg( FTL+MSG_AMBIG_FORMAT, NULL );
}
if( LinkState & FMT_SEEN_64_BIT ) {
ExecSystem( "64bit" );
} else if( LinkState & FMT_SEEN_32_BIT ) {
ExecSystem( "386" );
} else {
ExecSystem( "286" ); /* no 386 obj's after this */
}
}
}
}
示例6: CheckBreak
void CheckBreak( void )
/****************************/
{
if( CaughtBreak == BREAK_DETECTED ) {
CaughtBreak = BREAK_HANDLED;
LnkMsg( FTL+MSG_BREAK_HIT, NULL ); /* suicides */
}
}
示例7: PrintIOError
void PrintIOError( unsigned msg, char *types, char *name )
/***************************************************************/
{
char rc_buff[RESOURCE_MAX_SIZE];
Msg_Get( MSG_IOERRLIST_0 + LastResult, rc_buff );
LnkMsg( msg, types, name, rc_buff );
}
示例8: QOpenRW
f_handle QOpenRW( char *name )
/***********************************/
{
tiny_ret_t h;
h = DoOpen( name, TRUE, TIO_NORMAL );
if( TINY_OK( h ) ) return( (f_handle)TINY_INFO( h ) );
LnkMsg( FTL+MSG_CANT_OPEN, "12", name, QErrMsg( TINY_INFO( h ) ) );
return( NIL_HANDLE );
}
示例9: OffFromToc
static offset OffFromToc( offset off )
/***************************************/
{
offset toff;
toff = off - TocShift;
if( (signed_16)toff != (signed_32)toff ) {
LnkMsg( ERR+MSG_TOC_TOO_BIG, NULL );
}
return( toff );
}