WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=f00f4bf554a61df54745ad374c5f687620bea97d

commit f00f4bf554a61df54745ad374c5f687620bea97d
Author: Raster <ras...@rasterman.com>
Date:   Wed Jun 17 02:20:00 2015 -0700

    Wiki page start changed with summary [] by Raster
---
 pages/docs/c/start.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pages/docs/c/start.txt b/pages/docs/c/start.txt
index 89af214..233243b 100644
--- a/pages/docs/c/start.txt
+++ b/pages/docs/c/start.txt
@@ -503,13 +503,13 @@ The heap is where more permanent memory is stored, and 
data here remains until e
 
 A shared library is simple a large bit of code you can "load" when your 
application (or library) is loaded, where the code in it is shared with other 
users on the system. It mostly is provided by another group of developers, and 
thus may change its internals without your application or library needing to be 
re-compiled. If there is a bug in the library it may be fixed later on by an 
update to the library. Everyone who installs the update gets the fix. Same for 
new features. Libraries hav [...]
 
-If you want to do something privileged, or hide data, it needs to cross a 
process boundary. Normally you're speak some form of IPC to a privileged "root" 
process for example. Of course all of this "we share everything" with libraries 
also means that code in your application could corrupt/mess/destroy data the 
library is maintaining, as well as vice-versa. There is no protection between a 
library, another library and your process. This lack of protection means 
performance is very good and [...]
+If you want to do something privileged, or hide data, it needs to cross a 
process boundary. Normally you'll speak some form of IPC to a privileged "root" 
process for example. Of course all of this "we share everything" with libraries 
also means that code in your application could corrupt/mess/destroy data the 
library is maintaining, as well as vice-versa. There is no protection between a 
library, another library and your process. This lack of protection means 
performance is very good and [...]
 
 The benefit of a shared library is to avoid needing a re-compile to get 
improvements, save writing all the code the library shares with you, and to 
share the memory the code in the shared library would consume. As it is a 
//SHARED// library, the code from that library is loaded only once on the 
system. It may add to the virtual size of the process, but this space is shared 
across every process using that library, so the cost is paid just once.
 
-Generally a library exposes an API (a set of functions to call). It will 
provide header files you #include in your application (or library). you would 
link to the library and thus, at runtime, the "runtime linker" (ld.so often), 
will glue in the function symbols in your code to the library you link to. This 
is all done at the start of process startup before the main() function is 
called. There is a cost to this, but it is generally worth paying for the 
benefits. your code will then be ab [...]
+Generally a library exposes an API (a set of functions to call). It will 
provide header files you #include in your application (or library). You would 
link to the library and thus, at runtime, the "runtime linker" (ld.so often), 
will glue in the function symbols in your code to the library you link to. This 
also is done for global variables exposed by the library as well. This is all 
done at the start of process startup before the main() function is called. 
There is a cost to this, but i [...]
 
-You generally would compile your code to link to a library as follows, 
assuming the source for your application is ''hello.c'', the binary you wish to 
output is ''hello'' and the libray you want to link to is ''eina'' (often the 
file on disk will be ''libeina.so'' for the development environment).
+You generally would compile your code to link to a library as follows, 
assuming the source for your application is ''hello.c'', the binary you wish to 
output is ''hello'' and the library you want to link to is ''eina'' (often the 
file on disk will be ''libeina.so'' for the development environment).
 
    cc hello.c -o hello -leina
 

-- 


Reply via email to