Sponsored Content
Top Forums Programming Conditions/suggestions to use shared library in C/C++ coding Post 303017593 by Corona688 on Friday 18th of May 2018 12:50:56 PM
Old 05-18-2018
Quote:
Originally Posted by yifangt
Never tried dissection of the executable code from source code. However, this is not what I want to learn.
"What does a compiler and linker do?", and "How do executables work?" are pretty much the same question. An intimate knowledge of assembly language isn't required, though. Do you remember those old choose-your-own-adventure books? "If you say yes, go to page 37, if you say no, go to page 17", etc?

Imagine trying to write one of those. You would not write "go to page 37" in your draft - you have no idea what page 37 will be, that's your publisher's job. So you write "go to 'grisly death page'".

The publisher sets out all your pages in arbitrary order. They must make sure the beginning goes first, but otherwise the order really doesn't matter since the reader is supposed to jump around anyway. They number each page. And lastly, they change every reference to 'grisly death page' into 'page 37'.

That's exactly what a linker does, except it numbers by bytes, not pages.

If you want to add compilation to this analogy, just imagine that your publisher is Russian, and makes you send all your writing to a translator first.

Last edited by Corona688; 05-18-2018 at 01:57 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

Shared Library

hello all I want to work in shared libraries how can i work in Linux Environment ? (2 Replies)
Discussion started by: rajashekaran
2 Replies

2. UNIX for Advanced & Expert Users

shared library

What is the primary difference between static library and dynamic library? and how to write static shared library? (1 Reply)
Discussion started by: areef4u
1 Replies

3. Programming

Shared memory in shared library

I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies

4. Programming

Using funcion in a shared library

Is there any way in C to access a function in C shared library. I have used dlopen to access /load the c shared library but unable to use the function in the shared object. Thanks in advance :b: (1 Reply)
Discussion started by: yhacks
1 Replies

5. Programming

Shared memory for shared library

I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability. Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies

6. Shell Programming and Scripting

Suggestions/Recommendations for coding

#!/bin/sh #set -x uploaddir="/u01/app/informatica/dev3/sample/GPMDir/UploadDir" processdir="/u01/app/informatica/dev3/sample/GPMDir/ProcessDir" datetime=`date +%Y%m%d` logdir="$processdir/GPMLogFile_$datetime.log" echo "<---------------Start Copying & Moving GPM Files To Process... (0 Replies)
Discussion started by: Ariean
0 Replies

7. Shell Programming and Scripting

How to change a Makefile from building static library to shared library?

Hi: I have a library that it only offers Makefile for building static library. It built libxxx.a file. How do I in any way build a shared library? (either changin the Makefile or direct script or command to build shared library) Thanks. (1 Reply)
Discussion started by: cpthk
1 Replies

8. UNIX for Dummies Questions & Answers

Shared static library

Hello Please what does mean shared static library and LD-Preload? Thank you (3 Replies)
Discussion started by: chercheur857
3 Replies

9. Programming

Shared library with acces to shared memory.

Hello. I am new to this forum and I would like to ask for advice about low level POSIX programming. I have to implement a POSIX compliant C shared library. A file will have some variables and the shared library will have some functions which need those variables. There is one special... (5 Replies)
Discussion started by: iamjag
5 Replies

10. AIX

Add shared members from library to same library in a different directory

I'm trying to install libiconv to AIX 7.1 from an rpm off of the perzl site. The rpm appears to install but I get this error message. add shr4.o shared members from /usr/lib/libiconv.a to /opt/freeware/lib/libiconv.a add shr.o shared members from /usr/lib/libiconv.a to ... (5 Replies)
Discussion started by: kneemoe
5 Replies
Mono(signcode)															    Mono(signcode)

NAME
signcode - Digitally sign an PE executable using an X.509 certificate. SYNOPSIS
signcode [options] filename DESCRIPTION
Digitally sign an PE executable (CLR assembly, Win32 EXE or DLL) using an X.509 certificate and it's associated private key. The signature is compatible with Authenticode(r) and can be validated with chktrust (either on Windows or on any platform supported by Mono). OPTIONS
-spc spcfile The Software Publisher File (spc) that contains the X.509 certificate chain used to digitally sign the PE executable. -v pvkfile The Private Key File (pvk) that contains the private key used to digitally sign the PE executable. This private key must match the public key inside the publisher X.509 certificate. -a md5 | sha1 The hash algorithm used in the digital signature of the PE executable. The default algorithm is MD5. -$ individual | commercial Add information about the publisher, i.e. if the signature is generated by an individual or a commercial entity. -n description Add a textual description of the signed file. -i url Add a URL associated to the publisher or the signed file. -t url URL to a timestamp service to countersign the PE executable. Countersignature is required if you want the PE executable signature to be valid after the publisher certificate expires. The countersignature proves that the publisher had a valid (non-expired) certifi- cate when the PE executable was signed. -tr # Number of retries to get a timestamp for the countersignature. -tw # Delay (in seconds) between the retries to get a timestamp for the countersignature. -k name CryptoAPI key container name (when not using -v). -p name CryptoAPI provider name (when not using -v). -y # CryptoAPI provider type (when not using -v or -p). -ky signature | exchange | # CryptoAPI key type (when not using -v). -r localMachine | currentUser CryptoAPI key location (when not using -v). -help , -h , -? , /? Display help about this tool. OTHER CODE SIGNING TECHNOLOGIES
Assemblies are PE files that can also be strongnamed using the sn.exe tool. The order of code signature is important if a file requires both an Authenticode and a strongname signature. Strongname must be applied before the Authenticode signature. Applying a strongname after the Authenticode signature, like re-signing an assembly (e.g. delay-sign), will invalidate the Authenticode signature. KNOWN RESTRICTIONS
signcode cannot generate Authenticode signatures for CAB files. AUTHOR
Written by Sebastien Pouliot COPYRIGHT
Copyright (C) 2003 Motus Technologies. Copyright (C) 2004 Novell. Released under BSD license. MAILING LISTS
Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details. WEB SITE
Visit http://www.mono-project.com for details SEE ALSO
chktrust(1),makecert(1),cert2spc(1) Mono(signcode)
All times are GMT -4. The time now is 03:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy