01-28-2002
Shared memory and C++ Objects (cont)
I asked the next question in a former thread :
Can I safely share objects that have virtual functions (i.e. have
virtual function table pointers) between two processes ?
Where will the pointers point to in each process ?
The objects are supposed to reside in shared memory
I received a partial answer from Wizard (thanx, btw), but
was not satisfied : I am using AIX, and want to know if
I can solve the pointer problem via a OS mechanism, or,
given that this is not possible, a language interface.
What is that "shared libraries"
gizmo Wizard referred to ?
10 More Discussions You Might Find Interesting
1. Programming
I'm runtime linking (dlopen and dlsym) to a shared object (library) I've created and after a number of function calls into the library the program core dumps (Illegal operation). This only occurs during runtime linking. If I use the same library and dynamically link during compile time everything... (3 Replies)
Discussion started by: dneely
3 Replies
2. UNIX for Dummies Questions & Answers
Hi Friends !
I have a library, say libxyz.a.
To view all the object files in the archive, i issued the command :
ar -t libxyz.a
which displayed all the object files it contains.
Now, I would like to know the functions in each object file.
Is there any such command that displays... (3 Replies)
Discussion started by: mrgubbala
3 Replies
3. Programming
hi all !
Do I need all the shared objects to be present while compiling my code which has reference to a only one shared object, which in turn refers to another shared object.
for example I want to compile example.c which refers to sample.so
sample.so has refrence to anothersample.so
do... (2 Replies)
Discussion started by: disclaimer
2 Replies
4. UNIX for Advanced & Expert Users
Hi. Does anyone know by how much a text size of an executable(on ibm) would grow if you link one shared object(library)? Is it a constant number or it depends on a .so that is linked? (3 Replies)
Discussion started by: Yura
3 Replies
5. UNIX for Advanced & Expert Users
Hi,
i am trying to debug a binary which is using a shared lib.
but i could not succeed in tracking the code flow in the classes defined
in this library.
i get: class MyClass <opaque> error
i followed the instructions in the link below:... (0 Replies)
Discussion started by: yakari
0 Replies
6. AIX
I have two envoirmets(Envoirment A and Envoirment B) running on same server(AIX vesion 5.3).Both have different groups.I am facing a strange problem.Shared objects of one envoirment (Envoirment A)are getting loaded into the second(Envoirment B).So the servers that have dependency on shared objects... (2 Replies)
Discussion started by: nitin@tcs
2 Replies
7. Programming
G'day,
I have been working with a large application that makes extensive use of templates. When compiled under Unix (with g++), this sees some rather impressive bloat. I have been trying to make a temporary quick-fix by using the -frepo option, which results in dramatically smaller shared... (0 Replies)
Discussion started by: Elric of Grans
0 Replies
8. Programming
Hi,
I am looking for references about creating and accessing Shared Objects (.so) through C/C++ on Unix / Linux platforms. Is it possible and where can I find the info.
Thanks
Phil (1 Reply)
Discussion started by: phil nascimento
1 Replies
9. Linux
dear Experts,
please help,
actually i am trying to create a .so(shared object through make file through ld)
i am not understaning how to proceed i have tried like
through command like i can do it in 2 step like
my progam :test2.c
$gcc -fPIC -c test2.c
$ld -shared -soname test2.so -o... (1 Reply)
Discussion started by: vin_pll
1 Replies
10. UNIX for Advanced & Expert Users
Hi All......
I have my tool in my one server lets say E1 and same tool I tried to install in E2 server so everything is fine but, while executing the my tool for example...
$ ./batch
At that time Im getting this following error.
./batch: error while loading shared libraries: libqabwvcd.so:... (3 Replies)
Discussion started by: ksrivani
3 Replies
LEARN ABOUT DEBIAN
memstat
MEMSTAT(1) Linux Programmer's Manual MEMSTAT(1)
NAME
memstat - Identify what's using up virtual memory.
SYNOPSIS
memstat [-w][-p PID]
DESCRIPTION
memstat lists all accessible processes, executables, and shared libraries that are using up virtual memory. To get a complete list memstat
has to be run as root to be able to access the data of all running processes.
First, the processes are listed. An amount of memory is shown along with a process ID and the name of the executable which the process is
running. The amount of memory shown does not include shared memory: it only includes memory which is private to that process. So, if a
process is using a shared library like libc, the memory used to hold that library is not included. The memory used to hold the exe-
cutable's text-segment is also not included, since that too is shareable.
After the processes, the shared objects are listed. The amount of memory is shown along with the filename of the shared object, followed
by a list of the processes using the shared object. The memory is listed as the total amount of memory allocated to this object throughout
the whole namespace. In brackets also the amount that is really shared is listed.
Finally, a grand total is shown. Note that this program shows the amount of virtual (not real) memory used by the various items.
memstat gets its input from the /proc filesystem. This must be compiled into your kernel and mounted for memstat to work. The pathnames
shown next to the shared objects are determined by scanning the disk. memstat uses a configuration file, /etc/memstat.conf, to determine
which directories to scan. This file should include all the major bin and lib directories in your system, as well as the /dev directory.
If you run an executable which is not in one of these directories, it will be listed by memstat as ``[0dev]:<inode>''.
Options
The -w switch causes a wide printout: lines are not truncated at 80 columns.
The -p switch causes memstat to only print data gathered from looking at the process with the gicen PID.
NOTES
These reports are intended to help identify programs that are using an excessive amount of memory, and to reduce overall memory waste.
FILES
/etc/memstat.conf
/proc/*/maps
SEE ALSO
ps(1), top(1), free(1), vmstat(8), lsof(8), /usr/share/doc/memstat/memstat-tutorial.txt.gz
BUGS
memstat ignores all devices that just map main memory, though this may cause memstat to ignore some memory usage.
Memory used by the kernel itself is not listed.
AUTHOR
Originally written by Joshua Yelon <jyelon@uiuc.edu> and patched by Bernd Eckenfels <ecki@debian.org>. Taken over and rewritten by Michael
Meskes <meskes@debian.org>.
Debian 01 November 1998 MEMSTAT(1)