<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3916144387413564651</id><updated>2011-04-21T17:12:41.394-07:00</updated><title type='text'>iit gang</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-1662606285201208014</id><published>2008-03-12T02:56:00.001-07:00</published><updated>2008-03-12T02:56:37.787-07:00</updated><title type='text'>film</title><content type='html'>Loading...&lt;br /&gt;');&lt;br /&gt;document.write('');&lt;br /&gt;document.write('');&lt;br /&gt;document.write('');&lt;br /&gt;counter++;&lt;br /&gt;}&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;a href="http://www.google.co.in/"&gt;&lt;/a&gt;&lt;br /&gt;Web Search Help Center&lt;br /&gt;Change Language: العربية Български Bahasa Indonesia Català Česky Српски Dansk Deutsch English (US) Español Français Italiano Latviešu Lietuvių Magyar Nederlands Norsk Polski Português Русский Hrvatski Română Slovenský Slovenščina Suomi Svenska ภาษาไทย Tagalog Türkçe Українська Ελληνικά עברית हिन्दी Tiếng Việt 中文（简体） 中文（繁體） 日本語 한국어&lt;br /&gt;&lt;a onclick="javascript:urchinTracker('/support/outgoing/breadcrumb/portal/en');" href="http://www.google.co.in/support?hl=en"&gt;Google Help&lt;/a&gt; &gt; &lt;a href="http://www.google.co.in/support?ctx=web"&gt;Web Search Help&lt;/a&gt; &gt; &lt;a href="http://www.google.co.in/support/bin/topic.py?topic=358"&gt;Information in Our Search Results&lt;/a&gt; &gt; &lt;a href="http://www.google.co.in/support/bin/topic.py?topic=360"&gt;Concerns about content in our index&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.google.co.in/"&gt;Google Home&lt;/a&gt;&lt;a href="http://www.google.co.in/about.html"&gt;About Google&lt;/a&gt;&lt;a href="http://www.google.co.in/support?ctx=web"&gt;Web Search Help&lt;/a&gt; Search Guides  &lt;a href="http://www.google.co.in/support/bin/static.py?page=searchguides.html&amp;amp;ctx=basics"&gt;Basics of Search&lt;/a&gt;   &lt;a href="http://www.google.co.in/support/bin/static.py?page=searchguides.html&amp;amp;ctx=advanced"&gt;Advanced Search&lt;/a&gt;   &lt;a href="http://www.google.co.in/support/bin/static.py?page=searchguides.html&amp;amp;ctx=results"&gt;Search Results Page&lt;/a&gt;   &lt;a href="http://www.google.co.in/support/bin/static.py?page=searchguides.html&amp;amp;ctx=preferences"&gt;Setting Preferences&lt;/a&gt; &lt;a onclick="javascript:urchinTracker('/support/outgoing/features/leftnav/en');" href="http://www.google.co.in/intl/en/help/features.html"&gt;Search Features&lt;/a&gt;Spell checker, calculator &amp;amp; more&lt;br /&gt;&lt;a onclick="javascript:urchinTracker('/support/outgoing/services/leftnav/en');" href="http://www.google.co.in/intl/en/options/"&gt;Services &amp;amp; Tools&lt;/a&gt;Desktop Search, Toolbar, News &amp;amp; more&lt;br /&gt;   &lt;br /&gt;What can we help you with?&lt;br /&gt;function SetChecked(whichSearch) {&lt;br /&gt;if (document.getElementById("query").value == ""){&lt;br /&gt;alert("To search the Help Center, please enter a keyword or phrase.");&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;else if (whichSearch == "web"){&lt;br /&gt;window.location = "http://www.google.com/search?hl=en&amp;amp;q=" + document.getElementById("query").value;&lt;br /&gt;}&lt;br /&gt;else{&lt;br /&gt;document.getElementById("search_form").action = "/support/bin/search.py";&lt;br /&gt;document.getElementById("search_form").submit();&lt;br /&gt;}&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;Why do some of my search results say 'This site may harm your computer?'&lt;br /&gt;&lt;a onclick="javascript:urchinTracker('outgoing/printlink/en');" href="http://www.google.co.in/support/bin/answer.py?answer=45449&amp;amp;print=1" target="_blank"&gt;&lt;/a&gt;&lt;a onclick="javascript:urchinTracker('outgoing/printlink/en');" href="http://www.google.co.in/support/bin/answer.py?answer=45449&amp;amp;print=1" target="_blank"&gt;Print&lt;/a&gt;&lt;br /&gt;We want our users to feel safe when they search the web, and we're continuously working to identify dangerous sites and increase protection for our users. This warning message appears with search results we've identified as sites that may install malicious software on your computer:&lt;br /&gt;If you click the title of the result, you'll be shown the following warning rather than being taken immediately to the webpage in question:&lt;br /&gt;You can choose to continue to the site at your own risk. However, please be aware that malicious software is often installed without your knowledge or permission when you visit these sites, and can include programs that delete data on your computer, steal personal information such as passwords and credit card numbers, or alter your search results. For more information on these types of sites, please visit &lt;a href="http://www.stopbadware.org/home/help"&gt;StopBadware.org&lt;/a&gt;&lt;br /&gt;If one of these sites downloads malicious software onto your computer, please read our &lt;a href="http://www.google.com/support/bin/answer.py?answer=16162"&gt;additional information&lt;/a&gt; about reporting these sites and removing the software from your system.If you're the administrator of a site we've identified with this warning message, please visit the &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?answer=45432"&gt;instructions&lt;/a&gt; found in our Webmaster Help Center to resolve the problem. Note that in some cases, third parties can add malicious code to legitimate sites, which would cause us to show the warning message.&lt;br /&gt;You may also be interested in...&lt;br /&gt;Other helpful articles:&lt;br /&gt;&lt;a href="http://www.google.co.in/support/bin/answer.py?answer=465&amp;amp;ctx=sibling"&gt;How do I delete the drop-down list of my past searches?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.google.co.in/support/bin/answer.py?answer=508&amp;amp;ctx=sibling"&gt;How do I remove a page from Google's search results?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.google.co.in/support/bin/answer.py?answer=16162&amp;amp;ctx=sibling"&gt;What should I do if a site in your search results downloaded malicious programs onto my computer?&lt;/a&gt; &lt;a href="http://www.google.co.in/support/bin/request.py?ctx=answer"&gt;Contact Us&lt;/a&gt;&lt;br /&gt;Boost your Web Search vocabulary&lt;br /&gt;Our &lt;a href="http://www.google.com/support/bin/answer.py?answer=50187"&gt;glossary&lt;/a&gt; will help get you started with Google Web Search terminology.&lt;br /&gt;Learn from other Google users&lt;br /&gt;Find answers, ask questions, and share your expertise with others in the &lt;a onclick="javascript:urchinTracker('/support/outgoing/groups/rhmod/en');" href="http://groups.google.com/group/Google_Web_Search_Help"&gt;Web Search Help Group&lt;/a&gt;.&lt;br /&gt;©2008 Google - &lt;a href="http://www.google.co.in/"&gt;Google Home&lt;/a&gt; - &lt;a href="http://www.google.co.in/about.html"&gt;About Google&lt;/a&gt; - &lt;a href="http://www.google.co.in/privacy.html"&gt;Privacy Policy&lt;/a&gt; - &lt;a href="http://www.google.co.in/accounts/TOS"&gt;Terms of Service&lt;/a&gt; - &lt;a href="http://www.google.co.in/jobs/index.html"&gt;We're Hiring&lt;/a&gt; - &lt;a href="http://www.google.com/sitemap.html"&gt;Site Map&lt;/a&gt; - &lt;a href="http://www.google.co.in/support/bin/request.py?contact_type=contact_policy"&gt;About Contacting Support&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-1662606285201208014?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/1662606285201208014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=1662606285201208014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/1662606285201208014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/1662606285201208014'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/film.html' title='film'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-7287119699252052140</id><published>2008-03-12T02:55:00.001-07:00</published><updated>2008-03-12T02:55:31.842-07:00</updated><title type='text'>ddd</title><content type='html'>&lt;a id="top" name="top"&gt;&lt;/a&gt;&lt;br /&gt;RRR&lt;br /&gt;From Wikipedia, the free encyclopedia&lt;br /&gt;Jump to: &lt;a href="http://en.wikipedia.org/wiki/RRR#column-one"&gt;navigation&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/RRR#searchInput"&gt;search&lt;/a&gt;&lt;br /&gt;RRR may refer to:&lt;br /&gt;&lt;a title="The three Rs" href="http://en.wikipedia.org/wiki/The_three_Rs"&gt;The three Rs&lt;/a&gt;, a term used to describe the basics of education which stands for Reading, wRiting and aRithmetic&lt;br /&gt;"&lt;a title="Waste minimisation" href="http://en.wikipedia.org/wiki/Waste_minimisation"&gt;Reduce&lt;/a&gt;, &lt;a title="Reuse" href="http://en.wikipedia.org/wiki/Reuse"&gt;Reuse&lt;/a&gt;, &lt;a title="Recycling" href="http://en.wikipedia.org/wiki/Recycling"&gt;Recycle&lt;/a&gt;" a slogan used by campaigners to indicate the preferred order for waste management in the &lt;a title="Waste hierarchy" href="http://en.wikipedia.org/wiki/Waste_hierarchy"&gt;waste hierarchy&lt;/a&gt;.&lt;br /&gt;&lt;a title="Reboot, Reinstall, Reformat" href="http://en.wikipedia.org/wiki/Reboot%2C_Reinstall%2C_Reformat"&gt;Reboot, Reinstall, Reformat&lt;/a&gt;, a phrase used in computing, particularly in relation to technical support&lt;br /&gt;&lt;a title="Räikkönen Robertson Racing" href="http://en.wikipedia.org/wiki/R%C3%A4ikk%C3%B6nen_Robertson_Racing"&gt;Räikkönen Robertson Racing&lt;/a&gt;, a Formula 3 racing team&lt;br /&gt;Return Receipt Requested, a service provided by the &lt;a class="mw-redirect" title="US Postal Service" href="http://en.wikipedia.org/wiki/US_Postal_Service"&gt;US Postal Service&lt;/a&gt; in which a document is delivered to the sender when the letter or package is received&lt;br /&gt;Saleen/Allen "RRR" Speedlab, a motor racing team founded by &lt;a title="Steve Saleen" href="http://en.wikipedia.org/wiki/Steve_Saleen"&gt;Steve Saleen&lt;/a&gt; and &lt;a title="Tim Allen" href="http://en.wikipedia.org/wiki/Tim_Allen"&gt;Tim Allen&lt;/a&gt;&lt;br /&gt;&lt;a title="Rayman Raving Rabbids" href="http://en.wikipedia.org/wiki/Rayman_Raving_Rabbids"&gt;Rayman Raving Rabbids&lt;/a&gt; a video game for Wii designed by Michel Ancel&lt;br /&gt;&lt;a title="3RRR" href="http://en.wikipedia.org/wiki/3RRR"&gt;3RRR&lt;/a&gt;, a community radio station, based in Melbourne, Australia.&lt;br /&gt;&lt;a title="RRRecords" href="http://en.wikipedia.org/wiki/RRRecords"&gt;RRRecords&lt;/a&gt;, a record label, also known as RRR.&lt;br /&gt;The &lt;a title="Reed Research Reactor" href="http://en.wikipedia.org/wiki/Reed_Research_Reactor"&gt;Reed Research Reactor&lt;/a&gt;, a research nuclear reactor used by &lt;a title="Reed College" href="http://en.wikipedia.org/wiki/Reed_College"&gt;Reed College&lt;/a&gt;.&lt;br /&gt;The show, 'RRR' or 'Triple R' on the Leicester Station '&lt;a title="Takeover Radio" href="http://en.wikipedia.org/wiki/Takeover_Radio"&gt;Takeover Radio&lt;/a&gt;'. Presented by Dan, Guy and Niki.&lt;br /&gt;'Regular Rate &amp;amp; Rhythm' when referring to heart function in medical records&lt;br /&gt;'Residual Resistivity Ratio', a measure of the purity of a material.&lt;br /&gt;Requested Rate of Return&lt;br /&gt;&lt;a class="mw-redirect" title="Reserve ratio requirement" href="http://en.wikipedia.org/wiki/Reserve_ratio_requirement"&gt;Reserve ratio requirement&lt;/a&gt; or &lt;a class="mw-redirect" title="Required reserve ratio" href="http://en.wikipedia.org/wiki/Required_reserve_ratio"&gt;required reserve ratio&lt;/a&gt;&lt;br /&gt;Riki Rachtman Radio, a radio show in &lt;a title="Los Angeles, California" href="http://en.wikipedia.org/wiki/Los_Angeles%2C_California"&gt;Los Angeles, California&lt;/a&gt; on &lt;a title="KLSX" href="http://en.wikipedia.org/wiki/KLSX"&gt;KLSX&lt;/a&gt; until 1997.&lt;br /&gt;The &lt;a title="Red River Rebellion" href="http://en.wikipedia.org/wiki/Red_River_Rebellion"&gt;Red River Rebellion&lt;/a&gt; of 1869, led by Louis Riel&lt;br /&gt;&lt;a class="image" title="Disambiguation notice" href="http://en.wikipedia.org/wiki/Image:Disambig_gray.svg"&gt;&lt;/a&gt;&lt;br /&gt;This &lt;a title="Wikipedia:Disambiguation" href="http://en.wikipedia.org/wiki/Wikipedia:Disambiguation"&gt;disambiguation&lt;/a&gt; page lists articles associated with the same title. If an &lt;a class="external text" title="http://en.wikipedia.org/w/index.php?title=" namespace="0" href="http://en.wikipedia.org/w/index.php?title=Special:Whatlinkshere/RRR&amp;amp;namespace=0" rel="nofollow"&gt;internal link&lt;/a&gt; led you here, you may wish to change the link to point directly to the intended article.&lt;br /&gt;Retrieved from "&lt;a href="http://en.wikipedia.org/wiki/RRR"&gt;http://en.wikipedia.org/wiki/RRR&lt;/a&gt;"&lt;br /&gt;&lt;a title="Special:Categories" href="http://en.wikipedia.org/wiki/Special:Categories"&gt;Categories&lt;/a&gt;: &lt;a title="Category:Disambiguation" href="http://en.wikipedia.org/wiki/Category:Disambiguation"&gt;Disambiguation&lt;/a&gt;&lt;br /&gt;Views&lt;br /&gt;&lt;a title="View the content page [alt-c]" accesskey="c" href="http://en.wikipedia.org/wiki/RRR"&gt;Article&lt;/a&gt;&lt;br /&gt;&lt;a title="Discussion about the content page [alt-t]" accesskey="t" href="http://en.wikipedia.org/wiki/Talk:RRR"&gt;Discussion&lt;/a&gt;&lt;br /&gt;&lt;a title="You can edit this page. Please use the preview button before saving. [alt-e]" accesskey="e" href="http://en.wikipedia.org/w/index.php?title=RRR&amp;amp;action=edit"&gt;Edit this page&lt;/a&gt;&lt;br /&gt;&lt;a title="Past versions of this page [alt-h]" accesskey="h" href="http://en.wikipedia.org/w/index.php?title=RRR&amp;amp;action=history"&gt;History&lt;/a&gt;&lt;br /&gt;Personal tools&lt;br /&gt;&lt;a title="You are encouraged to log in; however, it is not mandatory. [alt-o]" accesskey="o" href="http://en.wikipedia.org/w/index.php?title=Special:Userlogin&amp;amp;returnto=RRR"&gt;Log in / create account&lt;/a&gt;&lt;br /&gt;&lt;a title="Visit the main page [alt-z]" style="BACKGROUND-IMAGE: url(/images/wiki-en.png)" accesskey="z" href="http://en.wikipedia.org/wiki/Main_Page"&gt;&lt;/a&gt;&lt;br /&gt;if (window.isMSIE55) fixalpha();&lt;br /&gt;Navigation&lt;br /&gt;&lt;a title="Visit the main page [alt-z]" accesskey="z" href="http://en.wikipedia.org/wiki/Main_Page"&gt;Main Page&lt;/a&gt;&lt;br /&gt;&lt;a title="Guides to browsing Wikipedia" href="http://en.wikipedia.org/wiki/Portal:Contents"&gt;Contents&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Portal:Featured_content"&gt;Featured content&lt;/a&gt;&lt;br /&gt;&lt;a title="Find background information on current events" href="http://en.wikipedia.org/wiki/Portal:Current_events"&gt;Current events&lt;/a&gt;&lt;br /&gt;&lt;a title="Load a random article [alt-x]" accesskey="x" href="http://en.wikipedia.org/wiki/Special:Random"&gt;Random article&lt;/a&gt;&lt;br /&gt;Interaction&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Wikipedia:About"&gt;About Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;a title="About the project, what you can do, where to find things" href="http://en.wikipedia.org/wiki/Wikipedia:Community_Portal"&gt;Community portal&lt;/a&gt;&lt;br /&gt;&lt;a title="The list of recent changes in the wiki [alt-r]" accesskey="r" href="http://en.wikipedia.org/wiki/Special:Recentchanges"&gt;Recent changes&lt;/a&gt;&lt;br /&gt;&lt;a title="How to contact Wikipedia" href="http://en.wikipedia.org/wiki/Wikipedia:Contact_us"&gt;Contact Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;a title="Support us" href="http://wikimediafoundation.org/wiki/Donate"&gt;Donate to Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;a title="Guidance on how to use and edit Wikipedia" href="http://en.wikipedia.org/wiki/Help:Contents"&gt;Help&lt;/a&gt;&lt;br /&gt;Search&lt;br /&gt; &lt;br /&gt;Toolbox&lt;br /&gt;&lt;a title="List of all English Wikipedia pages that link here [alt-j]" accesskey="j" href="http://en.wikipedia.org/wiki/Special:Whatlinkshere/RRR"&gt;What links here&lt;/a&gt;&lt;br /&gt;&lt;a title="Recent changes in pages linked from this page [alt-k]" accesskey="k" href="http://en.wikipedia.org/wiki/Special:Recentchangeslinked/RRR"&gt;Related changes&lt;/a&gt;&lt;br /&gt;&lt;a title="Upload files [alt-u]" accesskey="u" href="http://en.wikipedia.org/wiki/Wikipedia:Upload"&gt;Upload file&lt;/a&gt;&lt;br /&gt;&lt;a title="List of all special pages [alt-q]" accesskey="q" href="http://en.wikipedia.org/wiki/Special:Specialpages"&gt;Special pages&lt;/a&gt;&lt;br /&gt;&lt;a title="Printable version of this page [alt-p]" accesskey="p" href="http://en.wikipedia.org/w/index.php?title=RRR&amp;amp;printable=yes"&gt;Printable version&lt;/a&gt;&lt;br /&gt;&lt;a title="Permanent link to this version of the page" href="http://en.wikipedia.org/w/index.php?title=RRR&amp;amp;oldid=187358217"&gt;Permanent link&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/w/index.php?title=Special:Cite&amp;amp;page=RRR&amp;amp;id=187358217"&gt;Cite this page&lt;/a&gt;&lt;br /&gt;Languages&lt;br /&gt;&lt;a href="http://de.wikipedia.org/wiki/RRR"&gt;Deutsch&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fr.wikipedia.org/wiki/RRR"&gt;Français&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sv.wikipedia.org/wiki/RRR"&gt;Svenska&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mediawiki.org/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wikimediafoundation.org/"&gt;&lt;/a&gt;&lt;br /&gt;This page was last modified on 28 January 2008, at 00:05.&lt;br /&gt;All text is available under the terms of the &lt;a class="internal" title="Wikipedia:Text of the GNU Free Documentation License" href="http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License"&gt;GNU Free Documentation License&lt;/a&gt;. (See &lt;a class="internal" title="Wikipedia:Copyrights" href="http://en.wikipedia.org/wiki/Wikipedia:Copyrights"&gt;Copyrights&lt;/a&gt; for details.) Wikipedia® is a registered trademark of the &lt;a href="http://www.wikimediafoundation.org/"&gt;Wikimedia Foundation, Inc&lt;/a&gt;., a U.S. registered &lt;a class="internal" title="501(c)(3)" href="http://en.wikipedia.org/wiki/501%28c%29#501.28c.29.283.29"&gt;501(c)(3)&lt;/a&gt; &lt;a href="http://wikimediafoundation.org/wiki/Deductibility_of_donations"&gt;tax-deductible&lt;/a&gt; &lt;a class="internal" title="Non-profit organization" href="http://en.wikipedia.org/wiki/Non-profit_organization"&gt;nonprofit&lt;/a&gt; &lt;a title="Charitable organization" href="http://en.wikipedia.org/wiki/Charitable_organization"&gt;charity&lt;/a&gt;.&lt;br /&gt;&lt;a title="wikimedia:Privacy policy" href="http://wikimediafoundation.org/wiki/Privacy_policy"&gt;Privacy policy&lt;/a&gt;&lt;br /&gt;&lt;a title="Wikipedia:About" href="http://en.wikipedia.org/wiki/Wikipedia:About"&gt;About Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;a title="Wikipedia:General disclaimer" href="http://en.wikipedia.org/wiki/Wikipedia:General_disclaimer"&gt;Disclaimers&lt;/a&gt;&lt;br /&gt;if (window.runOnloadHook) runOnloadHook();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-7287119699252052140?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/7287119699252052140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=7287119699252052140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/7287119699252052140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/7287119699252052140'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/ddd.html' title='ddd'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-452589141132203977</id><published>2008-03-12T02:53:00.002-07:00</published><updated>2008-03-12T02:54:39.162-07:00</updated><title type='text'>c</title><content type='html'>Programming in CUNIX System Calls and Subroutines using C.&lt;br /&gt;A. D. Marshall 1994-2005&lt;br /&gt;Substantially Updated March 1999&lt;br /&gt;&lt;a href="http://www.netguide.com/" target="_top"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/chapter2_1.html" name="tex2html4"&gt;&lt;/a&gt;Next: &lt;a href="http://www.cs.cf.ac.uk/Dave/C/chapter2_1.html" name="tex2html5"&gt;Copyright&lt;/a&gt;&lt;br /&gt;Search for Keywords in C Notes&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/SEARCH/search_page.html"&gt;Keyword Searcher&lt;/a&gt;&lt;br /&gt;Download Postscript Version of Notes&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/down_link.html"&gt;Click Here to Download&lt;/a&gt; Course Notes. Local Students Only.&lt;br /&gt;Algorithm Animations&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/ANIM/anim.html"&gt;Direct link to Java Algorithm Animations (C related)&lt;/a&gt;&lt;br /&gt;C COURSEWARE&lt;br /&gt;Lecture notes + integrated exercises, solutions and marking&lt;br /&gt;&lt;a name="CHILD_LINKS"&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node1.html#SECTION00100000000000000000" name="tex2html43"&gt;Contents&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00200000000000000000" name="tex2html44"&gt;The Common Desktop Environment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00210000000000000000" name="tex2html45"&gt;The front panel&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00220000000000000000" name="tex2html46"&gt;The file manager&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00230000000000000000" name="tex2html47"&gt;The application manager&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00240000000000000000" name="tex2html48"&gt;The session manager&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00250000000000000000" name="tex2html49"&gt;Other CDE desktop tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00260000000000000000" name="tex2html50"&gt;Application development tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00270000000000000000" name="tex2html51"&gt;Application integration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00280000000000000000" name="tex2html52"&gt;Windows and the Window Manager&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION00290000000000000000" name="tex2html53"&gt;The Root Menu&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node2.html#SECTION002100000000000000000" name="tex2html54"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00300000000000000000" name="tex2html55"&gt;C/C++ Program Compilation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00310000000000000000" name="tex2html56"&gt;Creating, Compiling and Running Your Program&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00311000000000000000" name="tex2html57"&gt;Creating the program&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00312000000000000000" name="tex2html58"&gt;Compilation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00313000000000000000" name="tex2html59"&gt;Running the program&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00320000000000000000" name="tex2html60"&gt;The C Compilation Model&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00321000000000000000" name="tex2html61"&gt;The Preprocessor&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00322000000000000000" name="tex2html62"&gt;C Compiler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00323000000000000000" name="tex2html63"&gt;Assembler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00324000000000000000" name="tex2html64"&gt;Link Editor&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00325000000000000000" name="tex2html65"&gt;Some Useful Compiler Options&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00326000000000000000" name="tex2html66"&gt;Using Libraries&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00327000000000000000" name="tex2html67"&gt;UNIX Library Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00328000000000000000" name="tex2html68"&gt;Finding Information about Library Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00330000000000000000" name="tex2html69"&gt;Lint -- A C program verifier&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node3.html#SECTION00340000000000000000" name="tex2html70"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00400000000000000000" name="tex2html71"&gt;C Basics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00410000000000000000" name="tex2html72"&gt;History of C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00420000000000000000" name="tex2html73"&gt;Characteristics of C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00430000000000000000" name="tex2html74"&gt;C Program Structure&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00440000000000000000" name="tex2html75"&gt;Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00441000000000000000" name="tex2html76"&gt;Defining Global Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00442000000000000000" name="tex2html77"&gt;Printing Out and Inputting Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00450000000000000000" name="tex2html78"&gt;Constants&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00460000000000000000" name="tex2html79"&gt;Arithmetic Operations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00470000000000000000" name="tex2html80"&gt;Comparison Operators&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00480000000000000000" name="tex2html81"&gt;Logical Operators&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00490000000000000000" name="tex2html82"&gt;Order of Precedence&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION004100000000000000000" name="tex2html83"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node5.html#SECTION00500000000000000000" name="tex2html84"&gt;Conditionals&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node5.html#SECTION00510000000000000000" name="tex2html85"&gt;The if statement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node5.html#SECTION00520000000000000000" name="tex2html86"&gt;The ? operator&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node5.html#SECTION00530000000000000000" name="tex2html87"&gt;The switch statement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node5.html#SECTION00540000000000000000" name="tex2html88"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00600000000000000000" name="tex2html89"&gt;Looping and Iteration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00610000000000000000" name="tex2html90"&gt;The for statement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00620000000000000000" name="tex2html91"&gt;The while statement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00630000000000000000" name="tex2html92"&gt;The do-while statement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00640000000000000000" name="tex2html93"&gt;break and continue&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node6.html#SECTION00650000000000000000" name="tex2html94"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node7.html#SECTION00700000000000000000" name="tex2html95"&gt;Arrays and Strings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node7.html#SECTION00710000000000000000" name="tex2html96"&gt;Single and Multi-dimensional Arrays&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node7.html#SECTION00720000000000000000" name="tex2html97"&gt;Strings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node7.html#SECTION00730000000000000000" name="tex2html98"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node8.html#SECTION00800000000000000000" name="tex2html99"&gt;Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node8.html#SECTION00810000000000000000" name="tex2html100"&gt;void functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node8.html#SECTION00820000000000000000" name="tex2html101"&gt;Functions and Arrays&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node8.html#SECTION00830000000000000000" name="tex2html102"&gt;Function Prototyping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node8.html#SECTION00840000000000000000" name="tex2html103"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00900000000000000000" name="tex2html104"&gt;Further Data Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00910000000000000000" name="tex2html105"&gt;Structures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00911000000000000000" name="tex2html106"&gt;Defining New Data Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00920000000000000000" name="tex2html107"&gt;Unions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00930000000000000000" name="tex2html108"&gt;Coercion or Type-Casting&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00940000000000000000" name="tex2html109"&gt;Enumerated Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00950000000000000000" name="tex2html110"&gt;Static Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node9.html#SECTION00960000000000000000" name="tex2html111"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001000000000000000000" name="tex2html112"&gt;Pointers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001010000000000000000" name="tex2html113"&gt;What is a Pointer?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001020000000000000000" name="tex2html114"&gt;Pointer and Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001030000000000000000" name="tex2html115"&gt;Pointers and Arrays&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001040000000000000000" name="tex2html116"&gt;Arrays of Pointers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001050000000000000000" name="tex2html117"&gt;Multidimensional arrays and pointers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001060000000000000000" name="tex2html118"&gt;Static Initialisation of Pointer Arrays&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001070000000000000000" name="tex2html119"&gt;Pointers and Structures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001080000000000000000" name="tex2html120"&gt;Common Pointer Pitfalls&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001081000000000000000" name="tex2html121"&gt;Not assigning a pointer to memory address before using it&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001082000000000000000" name="tex2html122"&gt;Illegal indirection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001090000000000000000" name="tex2html123"&gt;Exercise&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001100000000000000000" name="tex2html124"&gt;Dynamic Memory Allocation and Dynamic Structures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001110000000000000000" name="tex2html125"&gt;Malloc, Sizeof, and Free&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001120000000000000000" name="tex2html126"&gt;Calloc and Realloc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001130000000000000000" name="tex2html127"&gt;Linked Lists&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001140000000000000000" name="tex2html128"&gt;Full Program: queue.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node11.html#SECTION001150000000000000000" name="tex2html129"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node12.html#SECTION001200000000000000000" name="tex2html130"&gt;Advanced Pointer Topics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node12.html#SECTION001210000000000000000" name="tex2html131"&gt;Pointers to Pointers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node12.html#SECTION001220000000000000000" name="tex2html132"&gt;Command line input&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node12.html#SECTION001230000000000000000" name="tex2html133"&gt;Pointers to a Function&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node12.html#SECTION001240000000000000000" name="tex2html134"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001300000000000000000" name="tex2html135"&gt;Low Level Operators and Bit Fields&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001310000000000000000" name="tex2html136"&gt;Bitwise Operators&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001320000000000000000" name="tex2html137"&gt;Bit Fields&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001321000000000000000" name="tex2html138"&gt;Bit Fields: Practical Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001322000000000000000" name="tex2html139"&gt;A note of caution: Portability&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001330000000000000000" name="tex2html140"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001400000000000000000" name="tex2html141"&gt;The C Preprocessor&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001410000000000000000" name="tex2html142"&gt;#define&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001420000000000000000" name="tex2html143"&gt;#undef&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001430000000000000000" name="tex2html144"&gt;#include&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001440000000000000000" name="tex2html145"&gt;#if -- Conditional inclusion&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001450000000000000000" name="tex2html146"&gt;Preprocessor Compiler Control&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001460000000000000000" name="tex2html147"&gt;Other Preprocessor Commands&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node14.html#SECTION001470000000000000000" name="tex2html148"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node15.html#SECTION001500000000000000000" name="tex2html149"&gt;C, UNIX and Standard Libraries&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node15.html#SECTION001510000000000000000" name="tex2html150"&gt;Advantages of using UNIX with C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node15.html#SECTION001520000000000000000" name="tex2html151"&gt;Using UNIX System Calls and Library Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001600000000000000000" name="tex2html152"&gt;Integer Functions, Random Number, String Conversion, Searching and Sorting: &lt;stdlib.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001610000000000000000" name="tex2html153"&gt;Arithmetic Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001620000000000000000" name="tex2html154"&gt;Random Numbers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001630000000000000000" name="tex2html155"&gt;String Conversion&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001640000000000000000" name="tex2html156"&gt;Searching and Sorting&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node16.html#SECTION001650000000000000000" name="tex2html157"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node17.html#SECTION001700000000000000000" name="tex2html158"&gt;Mathematics: &lt;math.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node17.html#SECTION001710000000000000000" name="tex2html159"&gt;Math Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node17.html#SECTION001720000000000000000" name="tex2html160"&gt;Math Constants&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001800000000000000000" name="tex2html161"&gt;Input and Output (I/O):stdio.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001810000000000000000" name="tex2html162"&gt;Reporting Errors&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001811000000000000000" name="tex2html163"&gt;perror()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001812000000000000000" name="tex2html164"&gt;errno&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001813000000000000000" name="tex2html165"&gt;exit()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001820000000000000000" name="tex2html166"&gt;Streams&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001821000000000000000" name="tex2html167"&gt;Predefined Streams&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001821100000000000000" name="tex2html168"&gt;Redirection&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001830000000000000000" name="tex2html169"&gt;Basic I/O&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001840000000000000000" name="tex2html170"&gt;Formatted I/O&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001841000000000000000" name="tex2html171"&gt;Printf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001850000000000000000" name="tex2html172"&gt;scanf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001860000000000000000" name="tex2html173"&gt;Files&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001861000000000000000" name="tex2html174"&gt;Reading and writing files&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001870000000000000000" name="tex2html175"&gt;sprintf and sscanf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001871000000000000000" name="tex2html176"&gt;Stream Status Enquiries&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001880000000000000000" name="tex2html177"&gt;Low Level I/O&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node18.html#SECTION001890000000000000000" name="tex2html178"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001900000000000000000" name="tex2html179"&gt;String Handling: &lt;string.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001910000000000000000" name="tex2html180"&gt;Basic String Handling Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001911000000000000000" name="tex2html181"&gt;String Searching&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001920000000000000000" name="tex2html182"&gt;Character conversions and testing: ctype.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001930000000000000000" name="tex2html183"&gt;Memory Operations: &lt;memory.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001940000000000000000" name="tex2html184"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002000000000000000000" name="tex2html185"&gt;File Access and Directory System Calls&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002010000000000000000" name="tex2html186"&gt;Directory handling functions: &lt;unistd.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002011000000000000000" name="tex2html187"&gt;Scanning and Sorting Directories: &lt;sys/types.h&gt;,&lt;sys/dir.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002020000000000000000" name="tex2html188"&gt;File Manipulation Routines: unistd.h, sys/types.h, sys/stat.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002021000000000000000" name="tex2html189"&gt;File Access&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002021100000000000000" name="tex2html190"&gt;errno&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002022000000000000000" name="tex2html191"&gt;File Status&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002023000000000000000" name="tex2html192"&gt;File Manipulation:stdio.h, unistd.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002024000000000000000" name="tex2html193"&gt;Creating Temporary FIles:&lt;stdio.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node20.html#SECTION002030000000000000000" name="tex2html194"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002100000000000000000" name="tex2html195"&gt;Time Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002110000000000000000" name="tex2html196"&gt;Basic time functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002120000000000000000" name="tex2html197"&gt;Example time applications&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002121000000000000000" name="tex2html198"&gt;Example 1: Time (in seconds) to perform some computation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002122000000000000000" name="tex2html199"&gt;Example 2: Set a random number seed&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node21.html#SECTION002130000000000000000" name="tex2html200"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002200000000000000000" name="tex2html201"&gt;Process Control: &lt;stdlib.h&gt;,&lt;unistd.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002210000000000000000" name="tex2html202"&gt;Running UNIX Commands from C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002220000000000000000" name="tex2html203"&gt;execl()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002230000000000000000" name="tex2html204"&gt;fork()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002240000000000000000" name="tex2html205"&gt;wait()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002250000000000000000" name="tex2html206"&gt;exit()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node22.html#SECTION002260000000000000000" name="tex2html207"&gt;Exerises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node23.html#SECTION002300000000000000000" name="tex2html208"&gt;Interprocess Communication (IPC), Pipes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node23.html#SECTION002310000000000000000" name="tex2html209"&gt;Piping in a C program: &lt;stdio.h&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node23.html#SECTION002320000000000000000" name="tex2html210"&gt;popen() -- Formatted Piping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node23.html#SECTION002330000000000000000" name="tex2html211"&gt;pipe() -- Low level Piping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node23.html#SECTION002340000000000000000" name="tex2html212"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node24.html#SECTION002400000000000000000" name="tex2html213"&gt;IPC:Interrupts and Signals: &lt;signal.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node24.html#SECTION002410000000000000000" name="tex2html214"&gt;Sending Signals -- kill(), raise()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node24.html#SECTION002420000000000000000" name="tex2html215"&gt;Signal Handling -- signal()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node24.html#SECTION002430000000000000000" name="tex2html216"&gt;sig_talk.c -- complete example program&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node24.html#SECTION002440000000000000000" name="tex2html217"&gt;Other signal functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002500000000000000000" name="tex2html218"&gt;IPC:Message Queues:&lt;sys/msg.h&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002510000000000000000" name="tex2html219"&gt;Initialising the Message Queue&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002520000000000000000" name="tex2html220"&gt;IPC Functions, Key Arguments, and Creation Flags: &lt;sys/ipc.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002530000000000000000" name="tex2html221"&gt;Controlling message queues&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002540000000000000000" name="tex2html222"&gt;Sending and Receiving Messages&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002550000000000000000" name="tex2html223"&gt;POSIX Messages: &lt;mqueue.h&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002560000000000000000" name="tex2html224"&gt;Example: Sending messages between two processes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002561000000000000000" name="tex2html225"&gt;message_send.c -- creating and sending to a simple message queue&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002562000000000000000" name="tex2html226"&gt;message_rec.c -- receiving the above message&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002570000000000000000" name="tex2html227"&gt;Some further example message queue programs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002571000000000000000" name="tex2html228"&gt;msgget.c: Simple Program to illustrate msget()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002572000000000000000" name="tex2html229"&gt;msgctl.cSample Program to Illustrate msgctl()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002573000000000000000" name="tex2html230"&gt;msgop.c: Sample Program to Illustrate msgsnd() and msgrcv()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node25.html#SECTION002580000000000000000" name="tex2html231"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002600000000000000000" name="tex2html232"&gt;IPC:Semaphores&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002610000000000000000" name="tex2html233"&gt;Initializing a Semaphore Set&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002620000000000000000" name="tex2html234"&gt;Controlling Semaphores&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002630000000000000000" name="tex2html235"&gt;Semaphore Operations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002640000000000000000" name="tex2html236"&gt;POSIX Semaphores: &lt;semaphore.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002650000000000000000" name="tex2html237"&gt;semaphore.c: Illustration of simple semaphore passing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002660000000000000000" name="tex2html238"&gt;Some further example semaphore programs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002661000000000000000" name="tex2html239"&gt;semget.c: Illustrate the semget() function&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002662000000000000000" name="tex2html240"&gt;semctl.c: Illustrate the semctl() function&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002663000000000000000" name="tex2html241"&gt;semop() Sample Program to Illustrate semop()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node26.html#SECTION002670000000000000000" name="tex2html242"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002700000000000000000" name="tex2html243"&gt;IPC:Shared Memory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002710000000000000000" name="tex2html244"&gt;Accessing a Shared Memory Segment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002711000000000000000" name="tex2html245"&gt;Controlling a Shared Memory Segment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002720000000000000000" name="tex2html246"&gt;Attaching and Detaching a Shared Memory Segment&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002730000000000000000" name="tex2html247"&gt;Example two processes comunicating via shared memory: shm_server.c, shm_client.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002731000000000000000" name="tex2html248"&gt;shm_server.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002732000000000000000" name="tex2html249"&gt;shm_client.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002740000000000000000" name="tex2html250"&gt;POSIX Shared Memory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002750000000000000000" name="tex2html251"&gt;Mapped memory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002751000000000000000" name="tex2html252"&gt;Address Spaces and Mapping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002752000000000000000" name="tex2html253"&gt;Coherence&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002753000000000000000" name="tex2html254"&gt;Creating and Using Mappings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002754000000000000000" name="tex2html255"&gt;Other Memory Control Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002760000000000000000" name="tex2html256"&gt;Some further example shared memory programs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002761000000000000000" name="tex2html257"&gt;shmget.c:Sample Program to Illustrate shmget()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002762000000000000000" name="tex2html258"&gt;shmctl.c: Sample Program to Illustrate shmctl()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002763000000000000000" name="tex2html259"&gt;shmop.c: Sample Program to Illustrate shmat() and shmdt()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node27.html#SECTION002770000000000000000" name="tex2html260"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002800000000000000000" name="tex2html261"&gt;IPC:Sockets&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002810000000000000000" name="tex2html262"&gt;Socket Creation and Naming&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002820000000000000000" name="tex2html263"&gt;Connecting Stream Sockets&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002830000000000000000" name="tex2html264"&gt;Stream Data Transfer and Closing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002840000000000000000" name="tex2html265"&gt;Datagram sockets&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002850000000000000000" name="tex2html266"&gt;Socket Options&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002860000000000000000" name="tex2html267"&gt;Example Socket Programs:socket_server.c,socket_client&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002861000000000000000" name="tex2html268"&gt;socket_server.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002862000000000000000" name="tex2html269"&gt;socket_client.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node28.html#SECTION002870000000000000000" name="tex2html270"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002900000000000000000" name="tex2html271"&gt;Threads: Basic Theory and Libraries&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002910000000000000000" name="tex2html272"&gt;Processes and Threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002911000000000000000" name="tex2html273"&gt;Benefits of Threads vs Processes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002912000000000000000" name="tex2html274"&gt;Multithreading vs. Single threading&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002913000000000000000" name="tex2html275"&gt;Some Example applications of threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002920000000000000000" name="tex2html276"&gt;Thread Levels&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002921000000000000000" name="tex2html277"&gt;User-Level Threads (ULT)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002922000000000000000" name="tex2html278"&gt;Kernel-Level Threads (KLT)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002923000000000000000" name="tex2html279"&gt;Combined ULT/KLT Approaches&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002930000000000000000" name="tex2html280"&gt;Threads libraries&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002940000000000000000" name="tex2html281"&gt;The POSIX Threads Library:libpthread, &lt;pthread.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002941000000000000000" name="tex2html282"&gt;Creating a (Default) Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002942000000000000000" name="tex2html283"&gt;Wait for Thread Termination&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002943000000000000000" name="tex2html284"&gt;A Simple Threads Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002944000000000000000" name="tex2html285"&gt;Detaching a Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002945000000000000000" name="tex2html286"&gt;Create a Key for Thread-Specific Data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002946000000000000000" name="tex2html287"&gt;Delete the Thread-Specific Data Key&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002947000000000000000" name="tex2html288"&gt;Set the Thread-Specific Data Key&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002948000000000000000" name="tex2html289"&gt;Get the Thread-Specific Data Key&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002949000000000000000" name="tex2html290"&gt;Global and Private Thread-Specific Data Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029410000000000000000" name="tex2html291"&gt;Getting the Thread Identifiers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029411000000000000000" name="tex2html292"&gt;Comparing Thread IDs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029412000000000000000" name="tex2html293"&gt;Initializing Threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029413000000000000000" name="tex2html294"&gt;Yield Thread Execution&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029414000000000000000" name="tex2html295"&gt;Set the Thread Priority&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029415000000000000000" name="tex2html296"&gt;Get the Thread Priority&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029416000000000000000" name="tex2html297"&gt;Send a Signal to a Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029417000000000000000" name="tex2html298"&gt;Access the Signal Mask of the Calling Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION0029418000000000000000" name="tex2html299"&gt;Terminate a Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002950000000000000000" name="tex2html300"&gt;Solaris Threads: &lt;thread.h&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951000000000000000" name="tex2html301"&gt;Unique Solaris Threads Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951100000000000000" name="tex2html302"&gt;Suspend Thread Execution&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951200000000000000" name="tex2html303"&gt;Continue a Suspended Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951300000000000000" name="tex2html304"&gt;Set Thread Concurrency Level&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951400000000000000" name="tex2html305"&gt;Readers/Writer Locks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002951500000000000000" name="tex2html306"&gt;Readers/Writer Lock Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952000000000000000" name="tex2html307"&gt;Similar Solaris Threads Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952100000000000000" name="tex2html308"&gt;Create a Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952200000000000000" name="tex2html309"&gt;Get the Thread Identifier&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952300000000000000" name="tex2html310"&gt;Yield Thread Execution&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952400000000000000" name="tex2html311"&gt;Signals and Solaris Threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952500000000000000" name="tex2html312"&gt;Terminating a Thread&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952600000000000000" name="tex2html313"&gt;Creating a Thread-Specific Data Key&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002952700000000000000" name="tex2html314"&gt;Example Use of Thread Specific Data:Rethinking Global Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002960000000000000000" name="tex2html315"&gt;Compiling a Multithreaded Application&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002961000000000000000" name="tex2html316"&gt;Preparing for Compilation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002962000000000000000" name="tex2html317"&gt;Debugging a Multithreaded Program&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003000000000000000000" name="tex2html318"&gt;Further Threads Programming:Thread Attributes (POSIX)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003010000000000000000" name="tex2html319"&gt;Attributes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003020000000000000000" name="tex2html320"&gt;Initializing Thread Attributes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003030000000000000000" name="tex2html321"&gt;Destroying Thread Attributes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003040000000000000000" name="tex2html322"&gt;Thread's Detach State&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003050000000000000000" name="tex2html323"&gt;Thread's Set Scope&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003060000000000000000" name="tex2html324"&gt;Thread Scheduling Policy&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003061000000000000000" name="tex2html325"&gt;Thread Inherited Scheduling Policy&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003062000000000000000" name="tex2html326"&gt;Set Scheduling Parameters&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003070000000000000000" name="tex2html327"&gt;Thread Stack Size&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node30.html#SECTION003071000000000000000" name="tex2html328"&gt;Building Your Own Thread Stack&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003100000000000000000" name="tex2html329"&gt;Further Threads Programming:Synchronization&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003110000000000000000" name="tex2html330"&gt;Mutual Exclusion Locks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003111000000000000000" name="tex2html331"&gt;Initializing a Mutex Attribute Object&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003112000000000000000" name="tex2html332"&gt;Destroying a Mutex Attribute Object&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003113000000000000000" name="tex2html333"&gt;The Scope of a Mutex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003114000000000000000" name="tex2html334"&gt;Initializing a Mutex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003115000000000000000" name="tex2html335"&gt;Locking a Mutex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003115100000000000000" name="tex2html336"&gt;Lock with a Nonblocking Mutex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003116000000000000000" name="tex2html337"&gt;Destroying a Mutex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003117000000000000000" name="tex2html338"&gt;Mutex Lock Code Examples&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003117100000000000000" name="tex2html339"&gt;Mutex Lock Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003117200000000000000" name="tex2html340"&gt;Using Locking Hierarchies: Avoiding Deadlock&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003118000000000000000" name="tex2html341"&gt;Nested Locking with a Singly Linked List&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003119000000000000000" name="tex2html342"&gt;Solaris Mutex Locks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003120000000000000000" name="tex2html343"&gt;Condition Variable Attributes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003121000000000000000" name="tex2html344"&gt;Initializing a Condition Variable Attribute&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003122000000000000000" name="tex2html345"&gt;Destoying a Condition Variable Attribute&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003123000000000000000" name="tex2html346"&gt;The Scope of a Condition Variable&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003124000000000000000" name="tex2html347"&gt;Initializing a Condition Variable&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003125000000000000000" name="tex2html348"&gt;Block on a Condition Variable&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003126000000000000000" name="tex2html349"&gt;Destroying a Condition Variable State&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003127000000000000000" name="tex2html350"&gt;Solaris Condition Variables&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003130000000000000000" name="tex2html351"&gt;Threads and Semaphores&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003131000000000000000" name="tex2html352"&gt;POSIX Semaphores&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node31.html#SECTION003132000000000000000" name="tex2html353"&gt;Basic Solaris Semaphore Functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003200000000000000000" name="tex2html354"&gt;Thread programming examples&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003210000000000000000" name="tex2html355"&gt;Using thr_create() and thr_join()&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003220000000000000000" name="tex2html356"&gt;Arrays&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003230000000000000000" name="tex2html357"&gt;Deadlock&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003240000000000000000" name="tex2html358"&gt;Signal Handler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003250000000000000000" name="tex2html359"&gt;Interprocess Synchronization&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003260000000000000000" name="tex2html360"&gt;The Producer / Consumer Problem&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003270000000000000000" name="tex2html361"&gt;A Socket Server&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003280000000000000000" name="tex2html362"&gt;Using Many Threads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION003290000000000000000" name="tex2html363"&gt;Real-time Thread Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION0032100000000000000000" name="tex2html364"&gt;POSIX Cancellation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION0032110000000000000000" name="tex2html365"&gt;Software Race Condition&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION0032120000000000000000" name="tex2html366"&gt;Tgrep: Threadeds version of UNIX grep&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node32.html#SECTION0032130000000000000000" name="tex2html367"&gt;Multithreaded Quicksort&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003300000000000000000" name="tex2html368"&gt;Remote Procedure Calls (RPC)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003310000000000000000" name="tex2html369"&gt;What Is RPC&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003320000000000000000" name="tex2html370"&gt;How RPC Works&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003330000000000000000" name="tex2html371"&gt;RPC Application Development&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003331000000000000000" name="tex2html372"&gt;Defining the Protocol&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003332000000000000000" name="tex2html373"&gt;Defining Client and Server Application Code&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003333000000000000000" name="tex2html374"&gt;Compliling and running the application&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003340000000000000000" name="tex2html375"&gt;Overview of Interface Routines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003341000000000000000" name="tex2html376"&gt;Simplified Level Routine Function&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003342000000000000000" name="tex2html377"&gt;Top Level Routines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003350000000000000000" name="tex2html378"&gt;Intermediate Level Routines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003351000000000000000" name="tex2html379"&gt;Expert Level Routines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003352000000000000000" name="tex2html380"&gt;Bottom Level Routines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003360000000000000000" name="tex2html381"&gt;The Programmer's Interface to RPC&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003361000000000000000" name="tex2html382"&gt;Simplified Interface&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003362000000000000000" name="tex2html383"&gt;Passing Arbitrary Data Types&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003363000000000000000" name="tex2html384"&gt;Developing High Level RPC Applications&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003363100000000000000" name="tex2html385"&gt;Defining the protocol&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003364000000000000000" name="tex2html386"&gt;Sharing the data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003364100000000000000" name="tex2html387"&gt;The Server Side&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003364200000000000000" name="tex2html388"&gt;The Client Side&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node33.html#SECTION003370000000000000000" name="tex2html389"&gt;Exercise&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003400000000000000000" name="tex2html390"&gt;Protocol Compiling and Lower Level RPC Programming&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003410000000000000000" name="tex2html391"&gt;What is rpcgen&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003420000000000000000" name="tex2html392"&gt;An rpcgen Tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003421000000000000000" name="tex2html393"&gt;Converting Local Procedures to Remote Procedures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003430000000000000000" name="tex2html394"&gt;Passing Complex Data Structures&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003440000000000000000" name="tex2html395"&gt;Preprocessing Directives&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003441000000000000000" name="tex2html396"&gt;cpp Directives&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003442000000000000000" name="tex2html397"&gt;Compile-Time Flags&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003443000000000000000" name="tex2html398"&gt;Client and Server Templates&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003444000000000000000" name="tex2html399"&gt;Example rpcgen compile options/templates&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003450000000000000000" name="tex2html400"&gt;Recommended Reading&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node34.html#SECTION003460000000000000000" name="tex2html401"&gt;Exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003500000000000000000" name="tex2html402"&gt;Writing Larger Programs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003510000000000000000" name="tex2html403"&gt;Header files&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003520000000000000000" name="tex2html404"&gt;External variables and functions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003521000000000000000" name="tex2html405"&gt;Scope of externals&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003530000000000000000" name="tex2html406"&gt;Advantages of Using Several Files&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003540000000000000000" name="tex2html407"&gt;How to Divide a Program between Several Files&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003550000000000000000" name="tex2html408"&gt;Organisation of Data in each File&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003560000000000000000" name="tex2html409"&gt;The Make Utility&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003570000000000000000" name="tex2html410"&gt;Make Programming&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003580000000000000000" name="tex2html411"&gt;Creating a makefile&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION003590000000000000000" name="tex2html412"&gt;Make macros&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node35.html#SECTION0035100000000000000000" name="tex2html413"&gt;Running Make&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/chapter2_22.html#SECTION00220000000000000000" name="tex2html174"&gt;Program Listings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_1.html#SECTION00221000000000000000" name="tex2html175"&gt;hello.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_2.html#SECTION00222000000000000000" name="tex2html176"&gt;printf.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_3.html#SECTION00223000000000000000" name="tex2html177"&gt;swap.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_4.html#SECTION00224000000000000000" name="tex2html178"&gt;args.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_5.html#SECTION00225000000000000000" name="tex2html179"&gt;arg.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_6.html#SECTION00226000000000000000" name="tex2html180"&gt;average.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_7.html#SECTION00227000000000000000" name="tex2html181"&gt;cio.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_8.html#SECTION00228000000000000000" name="tex2html182"&gt;factorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_9.html#SECTION00229000000000000000" name="tex2html183"&gt;power.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_10.html#SECTION002210000000000000000" name="tex2html184"&gt;ptr_arr.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_11.html#SECTION002211000000000000000" name="tex2html185"&gt;Modular Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_11_1.html#SECTION002211100000000000000" name="tex2html186"&gt;main.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_11_2.html#SECTION002211200000000000000" name="tex2html187"&gt;WriteMyString.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_11_3.html#SECTION002211300000000000000" name="tex2html188"&gt;header.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_11_4.html#SECTION002211400000000000000" name="tex2html189"&gt;Makefile&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_12.html#SECTION002212000000000000000" name="tex2html190"&gt;static.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_13.html#SECTION002213000000000000000" name="tex2html191"&gt;malloc.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_14.html#SECTION002214000000000000000" name="tex2html192"&gt;queue.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_15.html#SECTION002215000000000000000" name="tex2html193"&gt;bitcount.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_16.html#SECTION002216000000000000000" name="tex2html194"&gt;lowio.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_17.html#SECTION002217000000000000000" name="tex2html195"&gt;print.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_18.html#SECTION002218000000000000000" name="tex2html196"&gt;cdir.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_19.html#SECTION002219000000000000000" name="tex2html197"&gt;list.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_20.html#SECTION002220000000000000000" name="tex2html198"&gt;list_c.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_21.html#SECTION002221000000000000000" name="tex2html199"&gt;fork_eg.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_22.html#SECTION002222000000000000000" name="tex2html200"&gt;fork.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_23.html#SECTION002223000000000000000" name="tex2html201"&gt;signal.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_24.html#SECTION002224000000000000000" name="tex2html202"&gt;sig_talk.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_25.html#SECTION002225000000000000000" name="tex2html203"&gt;Piping&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_25_1.html#SECTION002225100000000000000" name="tex2html204"&gt;plot.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_25_2.html#SECTION002225200000000000000" name="tex2html205"&gt;plotter.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_22_25_3.html#SECTION002225300000000000000" name="tex2html206"&gt;externals.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_26.html#SECTION002226000000000000000" name="tex2html207"&gt;random.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_27.html#SECTION002227000000000000000" name="tex2html208"&gt;time.c&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_22_28.html#SECTION002228000000000000000" name="tex2html209"&gt;timer.c&lt;/a&gt;&lt;br /&gt;Online Marking of C Programs --- CEILIDH&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/chapter2_19.html#SECTION00190000000000000000" name="tex2html143"&gt;Ceilidh - On Line C Tutoring System&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_1.html#SECTION00191000000000000000" name="tex2html144"&gt;Why Use CEILIDH ?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_2.html#SECTION00192000000000000000" name="tex2html145"&gt;Introduction&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_3.html#SECTION00193000000000000000" name="tex2html146"&gt;Using Ceilidh as a Student&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_3_1.html#SECTION00193100000000000000" name="tex2html147"&gt;The course and unit level&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_3_2.html#SECTION00193200000000000000" name="tex2html148"&gt;The exercise level&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_3_3.html#SECTION00193300000000000000" name="tex2html149"&gt;Interpreted language exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_3_4.html#SECTION00193400000000000000" name="tex2html150"&gt;Question/answer exercises&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_4.html#SECTION00194000000000000000" name="tex2html151"&gt;The command line interface (TEXT CEILIDH ONLY)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_4_1.html#SECTION00194100000000000000" name="tex2html152"&gt;Advantages of the command line interface&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/subsection2_19_4_2.html#SECTION00194200000000000000" name="tex2html153"&gt;General points&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_5.html#SECTION00195000000000000000" name="tex2html154"&gt;Conclusions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_6.html#SECTION00196000000000000000" name="tex2html155"&gt;How Ceilidh works, Ceilidh Course Notes, User Guides etc.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/section2_19_7.html#SECTION00197000000000000000" name="tex2html156"&gt;References&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.cf.ac.uk/Dave/C/node36.html#SECTION003600000000000000000" name="tex2html414"&gt;About this document ... &lt;/a&gt;&lt;br /&gt;Dave Marshall 29/3/1999&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-452589141132203977?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/452589141132203977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=452589141132203977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/452589141132203977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/452589141132203977'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/c_12.html' title='c'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-5410934554386511269</id><published>2008-03-12T02:53:00.001-07:00</published><updated>2008-03-12T02:53:51.888-07:00</updated><title type='text'>c++</title><content type='html'>&lt;a href="http://www.research.att.com/~bs/homepage.html"&gt;homepage&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/C++.html"&gt;C++links&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bs_faq.html"&gt;FAQ&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bs_faq2.html"&gt;technical FAQ&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/glossary.html"&gt;glossary&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/compilers.html"&gt;compilers&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/papers.html"&gt;publications&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/WG21.html"&gt;C++TRs&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/3rd.html"&gt;TC++PL&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/dne.html"&gt;D&amp;amp;E&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bio.html"&gt;bio&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/interviews.html"&gt;interviews&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/applications.html"&gt;applications&lt;/a&gt;  &lt;a href="http://www.cs.tamu.edu/"&gt;TAMU&lt;/a&gt;  &lt;a href="http://www.research.att.com/"&gt;AT&amp;amp;T Research&lt;/a&gt;&lt;br /&gt;The C++ Programming Language&lt;br /&gt;Modified January 24, 2008&lt;br /&gt;Advice of the day(from &lt;a href="http://www.research.att.com/~bs/3rd.html"&gt;TC++PL&lt;/a&gt;)16.4[18] When necessary, use reserve() to make performance predictable; sec16.3.8.&lt;br /&gt;FAQ of the day&lt;a href="http://www.research.att.com/~bs/bs_faq.html#called-C++"&gt;Why is the language called C++?&lt;/a&gt;&lt;br /&gt;Article of the day&lt;a href="http://www.research.att.com/~bs/abstraction-and-machine.pdf"&gt;Abstraction and the C++ machine model&lt;/a&gt;. ICESS'04. December 2004. C++ is a general purpose programming language with a bias towards systems programming that&lt;br /&gt;is &lt;a href="http://www.research.att.com/~bs/bs_faq.html#difference"&gt;a better C&lt;/a&gt;&lt;br /&gt;supports &lt;a href="http://www.research.att.com/~bs/bs_faq.html#class"&gt;data abstraction&lt;/a&gt;&lt;br /&gt;supports &lt;a href="http://www.research.att.com/~bs/bs_faq.html#oop"&gt;object-oriented programming&lt;/a&gt;&lt;br /&gt;supports &lt;a href="http://www.research.att.com/~bs/bs_faq.html#generic"&gt;generic programming&lt;/a&gt;.&lt;br /&gt;I (&lt;a href="http://www.research.att.com/~bs/homepage.html"&gt;Bjarne Stroustrup&lt;/a&gt;) am the designer and original implementor of C++. You can find the language, the techniques for using it, and the techniques for implementing it described in my &lt;a href="http://www.research.att.com/~bs/books.html"&gt;books&lt;/a&gt;, my &lt;a href="http://www.research.att.com/~bs/papers.html"&gt;papers&lt;/a&gt;, in hundreds of books by others, and thousands of papers by others. There are far too many to list. Try a bookstore or a library. Answers to many questions about C++ can be found in&lt;br /&gt;my &lt;a href="http://www.research.att.com/~bs/bs_faq.html"&gt;FAQ&lt;/a&gt;,&lt;br /&gt;my &lt;a href="http://www.research.att.com/~bs/bs_faq2.html"&gt;C++ Style and Technique FAQ&lt;/a&gt;&lt;br /&gt;my &lt;a href="http://www.research.att.com/~bs/glossary.html"&gt;C++ glossary&lt;/a&gt;, and&lt;br /&gt;some &lt;a href="http://www.research.att.com/~bs/interviews.html"&gt;interviews&lt;/a&gt; that I have given.&lt;br /&gt;C++ has been standardized by ANSI (The American National Standards Institute), BSI (The British Standards Institute), DIN (The German national standards organization), several other national standards bodies, and ISO (The International Standards Organization). You can find a &lt;a href="ftp://ftp.research.att.com/pub/c++std/WP/CD2"&gt;somewhat out-of-date draft standard&lt;/a&gt; here. The ISO standard has been finalized and adopted by unanimous vote Nov 14, 1997. It was ratified in August 1998 by a 22-0 vote. The standard is ISO/IEC 14882; it is available for downloading at the &lt;a href="http://www.ncits.org/"&gt;National Committee for Information Technology Standards&lt;/a&gt; Electronic Store. The cost is (as I write this) US$18.00 payable on-line via credit card. The downloaded document is in PDF form, 2794KB total size. The ISO C++ standards committee maintains an &lt;a href="http://www.open-std.org/jtc1/sc22/wg21"&gt;official site&lt;/a&gt; with information about the current state of the standards effort. ISO has published a revised standard (with relatively minor clarifications and resolutions known as Corrigenda 1) as ISO/IEC 14882:2003. It is available as a book (on paper): "The C++ Standard", published by Wiley, ISBN 0 470 84674-7. Here are some more standard-related links&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/iso_release.html"&gt;a press release about C++ and its standard&lt;/a&gt; intended for non-programmers&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/iso_pressrelease2.html"&gt;a press release about the availability of the standard&lt;/a&gt;&lt;br /&gt;My book &lt;a href="http://www.research.att.com/~bs/dne.html"&gt;The Design and Evolution of C++&lt;/a&gt; describes the standards process and many of the design decisions made&lt;br /&gt;My book &lt;a href="http://www.research.att.com/~bs/3rd.html"&gt;The C++ Programming Language (Special Edition)&lt;/a&gt; describes C++ as defined by the ISO standard.&lt;br /&gt;The standard committee's technical report on implementation issues and programming techniques related to &lt;a href="http://www.research.att.com/~bs/performanceTR.pdf"&gt;performance&lt;/a&gt;. This should be of particular interest to programmers of embedded systems.&lt;br /&gt;The standard committee's technical report on &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf"&gt;library extensions&lt;/a&gt; that are likely to become part of C++0x (possibly after some revisions).&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/standard-foreword.pdf"&gt;My foreword&lt;/a&gt; to the printed version of the C++ standard.&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/evol-issues.html"&gt;An 2004 evolution working group wish list&lt;/a&gt;; that is, the list of suggested additions to the C++ core language - note that only a fraction of these will be accepted into C++0x. Here is &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2122.htm"&gt;the current state of the evolution proposals&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2034.htm"&gt;A standard library wishlist&lt;/a&gt; maintained by Matt Austern.&lt;br /&gt;A call for &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html"&gt;proposals for further standard libraries&lt;/a&gt;.&lt;br /&gt;Discussions about C++ and its use can be found in most forums covering programming. The usenet groups comp.lang.c++.moderated and alt.comp.lang.learn.c-c++ are good examples. These groups can be accessed in various ways including &lt;a href="http://groups.google.com/"&gt;Google Groups&lt;/a&gt; (sort by date).&lt;br /&gt;More links:&lt;br /&gt;A list of &lt;a href="http://www.research.att.com/~bs/applications.html"&gt;interesting C++ applications&lt;/a&gt;. I welcome suggestions for additions.&lt;br /&gt;An incomplete &lt;a href="http://www.research.att.com/~bs/compilers.html"&gt;list of C++ compilers&lt;/a&gt;.&lt;br /&gt;A list of available C++ libraries known as &lt;a href="http://www.trumphurst.com/cpplibs1.html"&gt;the C++ libraries FAQ&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.boost.org/"&gt;Boost.org&lt;/a&gt;: A repository for libraries meant to work well with the C++ standard library.&lt;br /&gt;The Computer History Museum's &lt;a href="http://community.computerhistory.org/scc/projects/c_plus_plus/index.html"&gt;site for early C++ sources&lt;/a&gt; (code, documentation, papers, etc.). If you want easier to digest information about C++'s past, read &lt;a href="http://www.research.att.com/~bs/hopl2.pdf"&gt;My paper about C++'s design and early years&lt;/a&gt; or the more comprenensive book &lt;a href="http://www.research.att.com/~bs/dne.html"&gt;The Design and Evolution of C++&lt;/a&gt;.&lt;br /&gt;Doug Schmidt's site with information about a lot of things including &lt;a href="http://siesta.cs.wustl.edu/~schmidt/ACE.html"&gt;the ACE framework&lt;/a&gt; and &lt;a href="http://siesta.cs.wustl.edu/~schmidt/TAO.html"&gt;the TAO real-time ORB&lt;/a&gt;.&lt;br /&gt;High-performance numerical libraries provide excellent tests for interesting new programming techniques: &lt;a href="http://www.oonumerics.org/oon"&gt;The Object-Oriented Numerics Page&lt;/a&gt; is a list of libraries, projects, and mailing lists. For example: &lt;a href="http://acts.nersc.gov/pooma"&gt;POOMA&lt;/a&gt; from LANL, &lt;a href="http://oonumerics.org/blitz/"&gt;Blitz++&lt;/a&gt; from U. of Waterloo, &lt;a href="http://osl.iu.edu/research/mtl"&gt;MTL&lt;/a&gt; from Indiana Univarsity, and &lt;a href="http://root.cern.ch/root"&gt;ROOT&lt;/a&gt; from CERN. These libraries, and many more, are available for downloading.&lt;br /&gt;Hans-J. Boehm's &lt;a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/"&gt;site for C and C++ garbage collection&lt;/a&gt; and a couple of sites offering collectors based on his work (&lt;a href="http://www.yl.is.s.u-tokyo.ac.jp/gc/dgc.shtml"&gt;University of Tokyo&lt;/a&gt;, &lt;a href="http://www.geodesic.com/"&gt;geodesic.com&lt;/a&gt;).&lt;br /&gt;&lt;a href="http://www.jamesd.demon.co.uk/csc/faq.html"&gt;C++ Standards FAQ&lt;/a&gt; containing many valuable links (including some to implementations of the standard library).&lt;br /&gt;Several test suites are available for C++ (try looking for ``C++ test suite'' using your favorite search engine. For example, &lt;a href="http://www.plumhall.com/"&gt;Plumhall&lt;/a&gt; and &lt;a href="http://www.peren.com/pages/products.htm"&gt;Perennial&lt;/a&gt; sell extensive commercial standards conformance suites.&lt;br /&gt;An old, but unfortunately not completely irrelevant, net posting &lt;a href="http://www.research.att.com/~bs/blast.html"&gt;answering some unfair criticisms of C++&lt;/a&gt;.&lt;br /&gt;A net posting about &lt;a href="http://www.research.att.com/~bs/learn.html"&gt;how to approach learning C++&lt;/a&gt;.&lt;br /&gt;An ASCII version of the slides I used for &lt;a href="http://www.research.att.com/~bs/esc99.html"&gt;my keynote at the Spring'99 Embedded Systems Conference&lt;/a&gt;.&lt;br /&gt;For a look at how ISO C++ can be used for serious embedded systems programming, see&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/JSF-AV-rules.pdf"&gt;JSF++: The JSF air vehicle C++ coding standards&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/performanceTR.pdf"&gt;The ISO C++ committee's TR on performance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/abstraction-and-machine.pdf"&gt;A confence paper on the basic ideas of using C++ in embedded systems&lt;/a&gt;.&lt;br /&gt;Marshall Cline's &lt;a href="http://www.parashift.com/c++-faq-lite/"&gt;C++ FAQ&lt;/a&gt;.&lt;br /&gt;The &lt;a href="http://www.faqs.org/faqs/C-faq/learn"&gt;learn.c-c++ newsgroup FAQ&lt;/a&gt; presents much information of use for C and/or C++ novices.&lt;br /&gt;STL (Standard Template Library) &lt;a href="http://www.jamesd.demon.co.uk/csc/faq.html"&gt;FAQ&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.sgi.com/tech/stl"&gt;SGI's implementation of the STL&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.dinkumware.com/manuals/reader.aspx?lib=cpp"&gt;Dinkumware's&lt;/a&gt; online standard library reference.&lt;br /&gt;&lt;a href="http://www.roguewave.com/support/docs/sourcepro/stdlibug/index.html"&gt;Rogue Wave's&lt;/a&gt; online documentation of an commentary on the standard library.&lt;br /&gt;An extensive collection of book reviews can be found on &lt;a href="http://www.accu.org/"&gt;the ACCU (The Association of C and C++ Users) site&lt;/a&gt;.&lt;br /&gt;Sean Corfield's &lt;a href="http://www.corfield.org/index.php?event=cplusplus.main"&gt;site summarizing the changes from ARM C++ to Standard C++&lt;/a&gt;.&lt;br /&gt;David Tribble's &lt;a href="http://david.tribble.com/text/cdiffs.htm"&gt;paper listing incompatibilities between C++ and C99&lt;/a&gt;.&lt;br /&gt;A list of resources for people learning C++ from &lt;a href="http://www-h.eng.cam.ac.uk/help/tpl/languages/C++.html"&gt;The Cambridge University Engineering Department&lt;/a&gt;.&lt;br /&gt;A list of C++ resources such as &lt;a href="http://www.robertnz.com/cpp_site.html"&gt;libraries, implementations, books, FAQs, other C++ pages, etc.&lt;/a&gt;.&lt;br /&gt;A large (18,000+) collection of links to information on OO, OOP languages, etc. called &lt;a href="http://www.cetus-links.org/"&gt;Cetus&lt;/a&gt;.&lt;br /&gt;A page listing &lt;a href="http://www.geocities.com/SiliconValley/Vista/7184/guitool.html"&gt;numerous GUI toolkits&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.lextrait.com/vincent/implementations.html"&gt;A list of major industry applications and tools&lt;/a&gt; with evolution paths by Vincent Lextrait.&lt;br /&gt;A catalog of &lt;a href="http://www.fz-juelich.de/zam/cxx/extern.html"&gt;C++ links&lt;/a&gt; from Forschungszentrum Julich.&lt;br /&gt;Addison-Wesley Longman's &lt;a href="http://www.awl.com/cseng/professional/resources.html"&gt;links to C++ and OOP resources&lt;/a&gt;.&lt;br /&gt;Greg Comeau's C++ related &lt;a href="http://www.comeaucomputing.com/"&gt;site in New York&lt;/a&gt;.&lt;br /&gt;Brad Appleton's collection of &lt;a href="http://www.enteract.com/~bradapp/"&gt;C++ and OOP links&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://dmoz.org/Computers/Programming/Languages/C%2b%2b/"&gt;The C++ section&lt;/a&gt; of the open directory project.&lt;br /&gt;Herb Sutter's collection of &lt;a href="http://www.gotw.ca/"&gt;articles&lt;/a&gt; focussing on how to learn and use Standard C++ in a modern style.&lt;br /&gt;Kevlin Henneys' collection of &lt;a href="http://www.two-sdg.demon.co.uk/curbralan"&gt;thought provoking and useful articles&lt;/a&gt; about good C++ design and style.&lt;br /&gt;Artima's &lt;a href="http://www.artima.com/cppsource"&gt;C++ source&lt;/a&gt; has a collection of C++ articles, columns, etc.&lt;br /&gt;Danny Kalev's &lt;a href="http://www.informit.com/guides/guide.asp?g=cplusplus&amp;amp;rl=1"&gt;C++ articles and news items&lt;/a&gt; on informIT.com.&lt;br /&gt;Videos:&lt;br /&gt;A C++0x talk given at &lt;a href="http://csclub.uwaterloo.ca/media/C++0x%20-%20An%20Overview.html"&gt;University of Waterloo&lt;/a&gt;. &lt;a href="http://video.google.com/videoplay?docid=-3478907067117491758"&gt;Google, NYC&lt;/a&gt;. August 2007.&lt;br /&gt;A talk on C++0x initializer lists given at &lt;a href="http://video.google.com/videoplay?docid=5262479012306588324"&gt;Google, Mountainview&lt;/a&gt;. February 2007.&lt;br /&gt;Several videos, audio recordings, and transcripts of talks, panels, and interviews from &lt;a href="http://technetcast.ddj.com/tnc_catalog.html?item_id=94"&gt;Dr. Dobb's Technetcast archieves&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://cm.bell-labs.com/cm/cs/who/dmr/"&gt;Dennis Ritchie's homepage&lt;/a&gt; containing lots of interesting information about the history of C, Unix, and (AT&amp;amp;T) Bell Lab's computer science research center (where C++ was born).&lt;br /&gt;&lt;a href="http://www.computerhistory.org/"&gt;The Computer History Museum&lt;/a&gt;'s Software Preservation Group's &lt;a href="http://community.computerhistory.org/scc/projects/c_plus_plus/index.html"&gt;colection of C++ sources&lt;/a&gt; currently focusing on the early years. Contributions are most welcome (see the site for details). Some of these sites are commercial. They are listed because I found some interesting information there, not because I wanted to endorse a product. All the major software suppliers have C++ related information on their sites.&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/homepage.html"&gt;homepage&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/C++.html"&gt;C++links&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bs_faq.html"&gt;FAQ&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bs_faq2.html"&gt;technical FAQ&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/glossary.html"&gt;glossary&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/compilers.html"&gt;compilers&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/papers.html"&gt;publications&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/WG21.html"&gt;C++TRs&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/3rd.html"&gt;TC++PL&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/dne.html"&gt;D&amp;amp;E&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/bio.html"&gt;bio&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/interviews.html"&gt;interviews&lt;/a&gt;  &lt;a href="http://www.research.att.com/~bs/applications.html"&gt;applications&lt;/a&gt;  &lt;a href="http://www.cs.tamu.edu/"&gt;TAMU&lt;/a&gt;  &lt;a href="http://www.research.att.com/"&gt;AT&amp;amp;T Research&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-5410934554386511269?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/5410934554386511269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=5410934554386511269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/5410934554386511269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/5410934554386511269'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/c.html' title='c++'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-8071228987249720346</id><published>2008-03-12T02:49:00.000-07:00</published><updated>2008-03-12T02:52:53.292-07:00</updated><title type='text'>java</title><content type='html'>&lt;a name="top"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="skiplink karrow" href="http://java.sun.com/#skip2content"&gt;Skip to Content&lt;/a&gt; &lt;a class="karrow k2over sunmenu y3 x-6" href="http://java.sun.com/global/mh/suncom/index.html"&gt;Sun&lt;/a&gt; &lt;a class="karrow k2over javamenu y3 x-6" href="http://java.sun.com/global/mh/java/"&gt;Java&lt;/a&gt; &lt;a class="karrow k2over solarismenu y3 x-6" href="http://java.sun.com/global/mh/solaris/"&gt;Solaris&lt;/a&gt; &lt;a class="dividelink karrow k2over communitiesmenu y3 x-6" href="http://java.sun.com/global/mh/communities/"&gt;Communities&lt;/a&gt; &lt;a class="karrow k2over accountmenu y3 x-6" href="http://developers.sun.com/global/my_profile.html"&gt;My SDN Account&lt;/a&gt; &lt;a class="dividelink karrow k2over joinmenu y3 x-6" href="http://developers.sun.com/global/join_sdn.html"&gt;Join SDN&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/"&gt;Sun.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/aboutsun/"&gt;About Sun&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/download/"&gt;Downloads&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/products/"&gt;Products&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/servicessolutions/"&gt;Solutions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=tous"&gt;Support&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/training/"&gt;Training&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.com/download/"&gt;Java for your computer&lt;/a&gt;&lt;br /&gt;Stay up to date with the latest versions of Java for your desktop computer.&lt;br /&gt;&lt;a href="http://www.sun.com/software/opensource/java/"&gt;Free and Open Source Java&lt;/a&gt;&lt;br /&gt;Get your own copy of the underlying software code for the Java language.&lt;br /&gt;&lt;a href="http://java.sun.com/javase/downloads/"&gt;Download the latest JDK&lt;/a&gt;&lt;br /&gt;The basic developer kit for Java developers.&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/downloads/"&gt;Download the Java EE SDK&lt;/a&gt;&lt;br /&gt;The SDK supports Java SE 6 and the latest Java EE 5 technologies.&lt;br /&gt;&lt;a href="http://download.netbeans.org/netbeans/6.0/final/"&gt;Download NetBeans IDE&lt;/a&gt;&lt;br /&gt;Get the award-winning, open-source tool suite for developing Java applications.&lt;br /&gt;&lt;a href="http://java.sun.com/"&gt;Java Developer Resources&lt;/a&gt;&lt;br /&gt;Visit java.sun.com for everything you need to know about the Java technology.&lt;br /&gt;&lt;a href="http://developers.sun.com/prodtech/javatools/"&gt;Java Developer Tools&lt;/a&gt;&lt;br /&gt;See and download all software tools available from Sun.&lt;br /&gt;&lt;a href="http://java.sun.com/javase/"&gt;Java Standard Edition&lt;/a&gt;&lt;br /&gt;For developing and deploying Java applications for the desktop, servers, embedded, and real-time environments.&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/"&gt;Java Enterprise Edition&lt;/a&gt;&lt;br /&gt;For enterprise, server-side Java applications.&lt;br /&gt;&lt;a href="http://java.sun.com/javame/"&gt;Java Micro Edition&lt;/a&gt;&lt;br /&gt;For Java applications running on mobile devices.&lt;br /&gt;&lt;a href="http://java.sun.com/learning/training/"&gt;Java Training&lt;/a&gt;&lt;br /&gt;Sharpen your Java skills with courses from the source.&lt;br /&gt;&lt;a href="http://developers.sun.com/services/"&gt;Java Support&lt;/a&gt;&lt;br /&gt;Get dedicated help from Sun including technical assistance, product support, and support for deployed Java applications.&lt;br /&gt;&lt;a href="http://www.sun.com/software/solaris/get.jsp"&gt;Solaris&lt;/a&gt;&lt;br /&gt;Download the most advanced operating system in the world&lt;br /&gt;&lt;a href="http://developers.sun.com/sunstudio/"&gt;Sun Studio&lt;/a&gt;&lt;br /&gt;Optimizing compilers and tools for C/C++/Fortran application development&lt;br /&gt;&lt;a href="http://developers.sun.com/solaris/"&gt;Solaris Developer Center&lt;/a&gt;&lt;br /&gt;Explore the resources and community available to the Solaris developer.&lt;br /&gt;&lt;a href="http://developers.sun.com/services/"&gt;Sun Developer Services&lt;/a&gt;&lt;br /&gt;Get technical assistance, product support, training, and other services from the source.&lt;br /&gt;&lt;a href="http://www.sun.com/bigadmin/home/index.html"&gt;BigAdmin&lt;/a&gt;&lt;br /&gt;A community site with Solaris system administration information, hardware compatibility, a script library, and other resources for administrators of Sun products.&lt;br /&gt;&lt;a href="http://www.opensolaris.org/"&gt;OpenSolaris&lt;/a&gt;&lt;br /&gt;Join the open-source community for collaboration and conversation around the OpenSolaris technology.&lt;br /&gt;&lt;a href="https://openjdk.dev.java.net/"&gt;OpenJDK&lt;/a&gt;&lt;br /&gt;The place to collaborate on the open-source JDK, an implementation of the Java Platform, Standard Edition specification.&lt;br /&gt;&lt;a href="http://community.java.net/mobileandembedded/"&gt;Mobile &amp;amp; Embedded &lt;/a&gt;&lt;br /&gt;The Mobile &amp;amp; Embedded Community enables and empowers developers to collaborate and innovate, driving the evolution and adoption of the Java(TM) Platform, Micro Edition (Java ME) for mobile and embedded devices.&lt;br /&gt;&lt;a href="http://glassfish.dev.java.net/"&gt;GlassFish&lt;/a&gt;&lt;br /&gt;The GlassFish community is building free, open source, production-quality, enterprise software.&lt;br /&gt;&lt;a href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt;&lt;br /&gt;You have the opportunity to submit bugs and feature requests in IssueZilla, submit news for the NetBeans Community, and contribute code or even create a project of your own. Welcome to the team!&lt;br /&gt;&lt;a href="http://www.sun.com/software/opensource/opensolaris.jsp"&gt;OpenSolaris&lt;/a&gt;&lt;br /&gt;The OpenSolaris source code is already cutting edge, but innovation happens everywhere, so we welcome your involvement.&lt;br /&gt;&lt;a href="http://www.opensparc.net/"&gt;OpenSPARC&lt;/a&gt;&lt;br /&gt;OpenSPARC.net is the genesis of a vision to create a larger community where open conversations and collaborative development projects spawn dramatic innovations around chip design.&lt;br /&gt;&lt;a href="https://openjfx.dev.java.net/"&gt;OpenJFX&lt;/a&gt;&lt;br /&gt;Project OpenJFX is a community for sharing early versions of the JavaFX Script language and for collaborating on its development.&lt;br /&gt;&lt;a href="http://java.net/"&gt;java.net&lt;/a&gt;&lt;br /&gt;A gathering place for Java technology enthusiasts and existing communities across industries, platforms, and interest groups.&lt;br /&gt;&lt;a href="http://developers.sun.com/learning/academic/"&gt;Sun Student Developers&lt;/a&gt;&lt;br /&gt;The SDN Academic Developer Program offers you ready access to tools, resources, and student communities.&lt;br /&gt;&lt;a href="http://jcp.org/"&gt;Java Community Process&lt;/a&gt;&lt;br /&gt;The JCP gives you a chance to both have your own work become an official component of the Java platform, and to offer suggestions for improving and growing the technology.&lt;br /&gt;&lt;a href="https://reg.sun.com/updateaccount?program=sdn&amp;amp;goto=http://developers.sun.com"&gt;Update My Profile&lt;/a&gt;&lt;br /&gt;&lt;a href="https://reg.sun.com/register?program=sdn"&gt;Join SDN Now&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/user_registration/whyregister.jsp"&gt;Why Join&lt;/a&gt;&lt;br /&gt;Becoming an Sun Developer Network (SDN) member makes you part of a vibrant worldwide community of developers, and gives you access to cool stuff and exclusive offers.&lt;br /&gt;» &lt;a href="http://developers.sun.com/global/search_tips.html"&gt;search tips&lt;/a&gt;  &lt;a id="sunlogo" title="Sun Microsystems Home Page" href="http://www.sun.com/"&gt;&lt;/a&gt;&lt;a title="Sun Developer Network" href="http://developers.sun.com/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink1" title="See All APIs" href="http://java.sun.com/global/mh/api/index.html"&gt;APIs&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_1" onfocus="clrmenu('1_1');" href="http://java.sun.com/reference/api/"&gt;Java SE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_2" onfocus="clrmenu('1_2');" href="http://java.sun.com/javaee/reference/"&gt;Java EE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_3" onfocus="clrmenu('1_3');" href="http://java.sun.com/javame/reference/apis.jsp"&gt;Java ME&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_4" onfocus="clrmenu('1_4');" href="http://developers.sun.com/solaris/reference/docs/"&gt;Solaris&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_5" onfocus="clrmenu('1_5');" href="http://developers.sun.com/sunstudio/reference/docs/"&gt;Sun Studio Compilers &amp;amp; Tools&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_6" onfocus="clrmenu('1_6');" href="http://java.sun.com/webservices/reference/api/"&gt;Web Services&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_7" onfocus="clrmenu('1_7');" href="http://java.sun.com/products/javacard/reference/docs/"&gt;Java Card&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink1_0" onblur="hideA2(0);" title="See All APIs" onfocus="clrmenu('1_0');" href="http://java.sun.com/reference/api/"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink2" title="See All Downloads" href="http://java.sun.com/global/mh/downloads/index.html"&gt;Downloads&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_1" onfocus="clrmenu('2_1');" href="http://java.sun.com/downloads/ea/"&gt;Early Access&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_2" onfocus="clrmenu('2_2');" href="http://java.sun.com/javase/downloads/"&gt;Java SE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_3" onfocus="clrmenu('2_3');" href="http://java.sun.com/javaee/downloads/"&gt;Java EE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_4" onfocus="clrmenu('2_4');" href="http://java.sun.com/javame/downloads/"&gt;Java ME&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_5" onfocus="clrmenu('2_5');" href="http://java.sun.com/javafx/downloads/"&gt;JavaFX&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_6" onfocus="clrmenu('2_6');" href="http://developers.sun.com/solaris/downloads/"&gt;Solaris&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_7" onfocus="clrmenu('2_7');" href="http://download.netbeans.org/netbeans/6.0/final/"&gt;NetBeans&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_8" onfocus="clrmenu('2_8');" href="http://developers.sun.com/sunstudio/downloads/"&gt;Sun Studio Compilers &amp;amp; Tools&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_9" onfocus="clrmenu('2_9');" href="http://www.sun.com/software/products/mysql/getit.jsp"&gt;MySQL&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink2_0" onblur="hideA2(0);" title="See All Downloads" onfocus="clrmenu('2_0');" href="http://developers.sun.com/resources/downloads.html"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink3" title="See All Products" href="http://java.sun.com/global/mh/products/index.html"&gt;Products&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_1" onfocus="clrmenu('3_1');" href="http://java.sun.com/javase/"&gt;Java SE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_2" onfocus="clrmenu('3_2');" href="http://java.sun.com/javaee/"&gt;Java EE&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_3" onfocus="clrmenu('3_3');" href="http://java.sun.com/javame/"&gt;Java ME&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_4" onfocus="clrmenu('3_4');" href="http://java.sun.com/javafx/"&gt;JavaFX&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_5" onfocus="clrmenu('3_5');" href="http://developers.sun.com/web/scripting/"&gt;Scripting&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_6" onfocus="clrmenu('3_6');" href="http://developers.sun.com/solaris/"&gt;Solaris&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_7" onfocus="clrmenu('3_7');" href="http://developers.sun.com/sunstudio/"&gt;Sun Studio Compilers &amp;amp; Tools&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_8" onfocus="clrmenu('3_8');" href="http://www.netbeans.org/"&gt;NetBeans IDE &lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_9" onfocus="clrmenu('3_9');" href="http://developers.sun.com/mobility/"&gt;Mobility&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_10" onfocus="clrmenu('3_10');" href="http://www.sun.com/software/products/mysql/index.jsp"&gt;MySQL&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_11" onfocus="clrmenu('3_11');" href="http://developers.sun.com/javadb/"&gt;Java DB&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink3_0" onblur="hideA2(0);" title="See All Products" onfocus="clrmenu('3_0');" href="http://developers.sun.com/global/mh/products/index.html"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink4" title="See All Support" href="http://java.sun.com/global/mh/support/index.html"&gt;Support&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink4_1" onfocus="clrmenu('4_1');" href="http://www.sun.com/bigadmin/home/"&gt;Big Admin&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink4_2" onfocus="clrmenu('4_2');" href="http://developers.sun.com/services/"&gt;Developer Services&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink4_3" onfocus="clrmenu('4_3');" href="http://forum.java.sun.com/index.jspa"&gt;Forums&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink4_0" onblur="hideA2(0);" title="See All Support" onfocus="clrmenu('4_0');" href="http://developers.sun.com/services/"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink5" title="See All Training" href="http://java.sun.com/global/mh/training/index.html"&gt;Training&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink5_1" onfocus="clrmenu('5_1');" href="http://www.sun.com/training/certification/index.xml"&gt;Certification&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink5_2" onfocus="clrmenu('5_2');" href="http://www.sun.com/training/catalog/developer.xml"&gt;Developer Training&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink5_0" onblur="hideA2(0);" title="See All Training" onfocus="clrmenu('5_0');" href="http://www.sun.com/training/"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a class="tpclink a2menu" id="glink6" title="See All Participate" href="http://java.sun.com/global/mh/participate/index.html"&gt;Participate&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_1" onfocus="clrmenu('6_1');" href="http://forum.java.sun.com/index.jspa"&gt;Forums&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_2" onfocus="clrmenu('6_2');" href="http://blogs.sun.com/"&gt;Blogs&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_3" onfocus="clrmenu('6_3');" href="http://developers.sun.com/sdnshare/"&gt;SDN Share&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_4" onfocus="clrmenu('6_4');" href="http://wikis.sun.com/"&gt;Wikis&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_5" onfocus="clrmenu('6_5');" href="http://java.sun.com/community/usergroups/"&gt;Java User Groups&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_6" onfocus="clrmenu('6_6');" href="http://developers.sun.com/newsletters/index.html"&gt;Newsletters&lt;/a&gt;&lt;br /&gt;&lt;a class="menulink" id="mlink6_0" onblur="hideA2(0);" title="See All Participate" onfocus="clrmenu('6_0');" href="http://developers.sun.com/global/mh/participate/index.html"&gt;See All&lt;/a&gt; »&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/"&gt;Developers Home&lt;/a&gt; &gt; &lt;a href="http://developers.sun.com/prodtech/"&gt;Products &amp;amp; Technologies&lt;/a&gt; &gt;&lt;br /&gt;Java.sun.com&lt;br /&gt;The Source for Java Developers&lt;br /&gt;&lt;a class="sharelink technorati" title="See who links to this page on Technorati" href="http://www.technorati.com/search/http%3A%2F%2Fjava.sun.com%2F"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="sharelink delicious" title="Bookmark this page in del.icio.us" href="http://del.icio.us/post?v=4;url=http%3A%2F%2Fjava.sun.com%2F;title=Java%20Technology"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="sharelink digg" title="Submit this page to Digg" href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fjava.sun.com%2F&amp;amp;title=Java%20Technology"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="sharelink slashdot" title="Submit this page to Slashdot" href="http://slashdot.org/bookmark.pl?title=Java%20Technology&amp;amp;url=http%3A%2F%2Fjava.sun.com%2F"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="sharelink feed" title="rss" href="http://developers.sun.com/rss/java.xml"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="skip2content"&gt;&lt;/a&gt;&lt;br /&gt;Featured Content&lt;br /&gt;&lt;br /&gt;Watch the Video&lt;br /&gt;&lt;a onclick="openPopup('','duke',719,425,'yes',1,0,0,1,0,0); return true;" href="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;amp;file=http%3A//blip.tv/rss/flash/659765&amp;amp;feedurl=http%3A//theupdatecenter.blip.tv/rss/&amp;amp;autostart=true&amp;amp;brandname=The%20Update%20Center&amp;amp;brandlink=http%3A//theupdatecenter.blip.tv/" target="duke"&gt;Watch Now&lt;/a&gt;&lt;br /&gt;March 11, 2008&lt;br /&gt;&lt;a onclick="window.open('http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;amp;file=http%3A//blip.tv/rss/flash/659765&amp;amp;feedurl=http%3A//theupdatecenter.blip.tv/rss/&amp;amp;autostart=true&amp;amp;brandname=The%20Update%20Center&amp;amp;brandlink=http%3A//theupdatecenter.blip.tv/', 'feedroom', 'width=719, height=425, scrollbars=0, resizable=1, status=no, toolbar=no, location=no')" href="javascript:void(0)"&gt;The Update Center: Running the NetBeans IDE on the Asus EEE PC&lt;/a&gt;Think that the $299 Asus EEE PC can't run the Java or NetBeans platforms? You might be surprised. Here are instructions for kick-starting your Java development on what could be one of the most inexpensive laptops ever. &lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/mysql_acq/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;February 26, 2008&lt;a href="http://java.sun.com/developer/technicalArticles/mysql_acq/"&gt;Sun and MySQL: How It Stacks Up for Developers&lt;/a&gt;MySQL, the world's most popular open-source database, fills an important niche in Sun's software stack. With Sun's reach and resources, MySQL is poised for even wider adoption.&lt;br /&gt;February 26, 2008 --&gt;&lt;a href="http://dev.mysql.com/usingmysql/java/" target="_blank"&gt;Using MySQL With Java&lt;/a&gt;Here's the place to find documentation, tutorials, forums, and more on using MySQL with Java technology.&lt;br /&gt;&lt;a href="http://java.sun.com/features/"&gt;» See All Articles&lt;/a&gt;    &lt;a href="http://java.sun.com/news/"&gt;» News and Updates&lt;/a&gt;    &lt;a href="http://java.sun.com/developer/media/"&gt;» Videos&lt;/a&gt;&lt;br /&gt;Developer Spotlight&lt;br /&gt;&lt;br /&gt;Watch the Video&lt;br /&gt;&lt;a href="http://java.sun.com/developer/media/deepdivejxta.jsp"&gt;Watch Now&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/media/deepdivejxta.jsp"&gt;Deep Dive: JXTA on MIDP&lt;/a&gt;SDN staff writer Ed Ort interviews JXTA project architect Mohamed Abdelaziz. Abdelaziz demonstrates how JXTA for MIDP 2.0 allows handheld devices to participate as first-class devices in a JXTA network. &lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/Interviews/community/horstmann_qa.html"&gt;From Java Platform Improvements to Better Teaching: A Conversation With Java Champion Cay Horstmann&lt;/a&gt;Java Champion Cay Horstmann, a computer science professor and author of noted books on Java programming, discusses needed platform improvements, developer challenges, and ways to inspire students.&lt;br /&gt;&lt;a href="http://developers.sun.com/students/"&gt;Student Developers&lt;/a&gt;Where can you find hot technologies, open-source communities, and job opportunities? Sun is looking for students who are ready to innovate and create the future.   &lt;a href="http://developers.sun.com/students/"&gt;Learn More&lt;/a&gt; &lt;br /&gt;&lt;a href="http://java.com/en/dukeszone/dukeschoice.jsp"&gt;Duke's Choice Awards&lt;/a&gt;We are accepting nominations for the sixth edition of the popular Duke's Choice Awards. Winners will be recognized at the 2008 JavaOne Conference. Submit entries by March 14. &lt;br /&gt;&lt;a href="http://java.sun.com/javaee/community/campaigns/iphone-012008/welcome.jsp"&gt;Connect and Participate With GlassFish&lt;/a&gt;Try GlassFish for a chance to win an iPhone. This sweepstakes ends on March 23, 2008.&lt;a href="http://java.sun.com/javaee/community/campaigns/iphone-012008/welcome.jsp"&gt;Submit your entry today.&lt;/a&gt; &lt;br /&gt;Java Learning and Certification&lt;br /&gt;&lt;a href="http://www.sun.com/training/certification/java/scea.xml"&gt;New Java Enterprise Architect Certification&lt;/a&gt;The much anticipated update to the Java Enterprise Architect Certification is now available. Achieving this advanced and well respected certification can help get you to the next level in your career. &lt;a href="http://www.sun.com/training/certification/java/scea.xml"&gt;Learn more&lt;/a&gt; &lt;br /&gt;&lt;a href="https://reg.sun.com/register"&gt;Join the Sun Developer Network&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/onlineTraining/new2java/"&gt;» New to Java&lt;/a&gt;    &lt;a href="http://java.sun.com/developer/onlineTraining/"&gt;» Tutorials&lt;/a&gt;    &lt;a href="http://www.sun.com/training/certification/java/index.xml"&gt;» Certification&lt;/a&gt;    &lt;a href="http://www.sun.com/training/catalog/java/index.xml"&gt;» Training&lt;/a&gt;    &lt;a href="http://java.sun.com/learning/"&gt;» See All&lt;/a&gt;&lt;br /&gt;From the Blogosphere&lt;br /&gt;&lt;a href="http://blogs.sun.com/jag/entry/closures" target="_blank"&gt;James Gosling on Closures&lt;/a&gt;Do closures belong in the Java platform? &lt;br /&gt;&lt;a href="http://blogs.sun.com/theaquarium/entry/glassfish_awards_program_press_release" target="_blank"&gt;Introducing the GlassFish Awards Program (GAP)&lt;/a&gt;Help grow the GlassFish community -- and earn some of the $175,000 in prizes for your contributions. &lt;br /&gt;&lt;a href="http://java.sun.com/developer/blogs/"&gt;» Blogs&lt;/a&gt;    &lt;a href="http://blogs.sun.com/"&gt;» Blogs.sun.com&lt;/a&gt;    &lt;a href="http://weblogs.java.net/" target="_blank"&gt;» Java.net Blogs&lt;/a&gt;&lt;br /&gt;Participate&lt;br /&gt;&lt;a href="http://jdk6.dev.java.net/6uNea.html" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jdk6.dev.java.net/6uNea.html" target="_blank"&gt;Get Early Access to the Next Java SE 6 Update&lt;/a&gt;Download &lt;a href="http://jdk6.dev.java.net/6uNea.html" target="_blank"&gt;Java SE 6 Update N&lt;/a&gt;, formerly known as the Consumer JRE, and provide feedback on these exciting features: Direct3D, Java Quick Starter, Nimbus, and Deployment Toolkit. Get the &lt;a href="http://blogs.sun.com/SDNProgramNews/feed/entries/atom?cat=%2FJava+SE+6+Update+N"&gt;RSS feed&lt;/a&gt;. &lt;br /&gt;&lt;a href="http://developers.sun.com/sdnshare"&gt;Participate with SDN Share:&lt;/a&gt;SDN Share is the place to share code and technical tips. Vote and comment on the latest posts from your peers. &lt;br /&gt;Recent Posts: &lt;a href="http://sdnshare.com/index_rss.jsp"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sdnshare.com/view.jsp?id=1033"&gt;Change Text Color in a Game for Flashing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sdnshare.com/view.jsp?id=1013"&gt;A Very Simple Way to Skip Part of Code Without Using Comment Symbols&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/opensource/java/"&gt;Sun Open Sources Java Platform Implementations&lt;/a&gt;&lt;a href="http://www.sun.com/software/opensource/java/"&gt;Get involved!&lt;/a&gt; New Communities:&lt;br /&gt;&lt;a href="https://openjdk.dev.java.net/" target="_blank"&gt;OpenJDK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://community.java.net/mobileandembedded/" target="_blank"&gt;Mobile &amp;amp; Embedded&lt;/a&gt;&lt;br /&gt;&lt;a href="https://glassfish.dev.java.net/" target="_blank"&gt;GlassFish&lt;/a&gt;&lt;br /&gt;&lt;a href="https://openjfx.dev.java.net/" target="_blank"&gt;OpenJFX&lt;/a&gt; &lt;br /&gt;&lt;a href="http://forum.java.sun.com/index.jspa"&gt;» Forums&lt;/a&gt;    &lt;a href="http://java.sun.com/community/newsletters/"&gt;» Newsletters and Tips&lt;/a&gt;    &lt;a href="http://java.sun.com/developer/community/askxprt/"&gt;» Ask the Experts&lt;/a&gt;    &lt;a href="http://java.sun.com/community/usergroups/"&gt;» User Groups&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://bugs.sun.com/bugdatabase/"&gt;» Bug Database&lt;/a&gt; --&gt;   &lt;a href="http://java.sun.com/community/"&gt;» See All&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/global/join_sdn.html"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.com/en/download/index.jsp"&gt;&lt;/a&gt;&lt;a href="http://www.netbeans.org/" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;--&gt;&lt;br /&gt;Popular Downloads:&lt;a href="http://java.sun.com/javase/downloads/?intcmp=1281"&gt;Java SE&lt;/a&gt;&lt;a href="http://java.sun.com/javaee/downloads/?intcmp=1282"&gt;Java EE 5 SDK&lt;/a&gt;&lt;a href="http://java.sun.com/javame/downloads/?intcmp=1283"&gt;Java ME&lt;/a&gt;&lt;a href="http://download.netbeans.org/netbeans/6.0/final/?cid=921887" target="_blank"&gt;NetBeans IDE&lt;/a&gt;&lt;a href="http://www.sun.com/software/products/mysql/getit.jsp" target="_blank"&gt;MySQL&lt;/a&gt;&lt;a href="http://java.sun.com/webservices/downloads/?intcmp=1285"&gt;Web Services&lt;/a&gt;&lt;a href="http://java.sun.com/downloads/?intcmp=1286"&gt;See All&lt;/a&gt;&lt;br /&gt;Technologies:&lt;a href="http://java.sun.com/javase/"&gt;Java SE&lt;/a&gt;&lt;a href="http://java.sun.com/javaee/"&gt;Java EE&lt;/a&gt;&lt;a href="http://java.sun.com/javame/"&gt;Java ME&lt;/a&gt;&lt;a href="http://java.sun.com/javafx/"&gt;JavaFX&lt;/a&gt;&lt;a href="http://java.sun.com/webservices/"&gt;Web Services&lt;/a&gt;&lt;a href="http://developers.sun.com/prodtech/"&gt;See All&lt;/a&gt;&lt;br /&gt;Resources:&lt;a href="http://java.sun.com/developer/codesamples/"&gt;Code Samples &amp;amp; Apps&lt;/a&gt;&lt;a href="http://java.sun.com/reference/api/"&gt;APIs&lt;/a&gt;&lt;a href="http://java.sun.com/reference/docs/"&gt;Documentation&lt;/a&gt;&lt;a href="http://java.sun.com/developer/onlineTraining/"&gt;Tutorials&lt;/a&gt;&lt;a href="http://java.sun.com/developer/media/"&gt;Videos&lt;/a&gt;&lt;a href="http://java.sun.com/javase/timezones/"&gt;Timezone Updates&lt;/a&gt;&lt;a href="http://developers.sun.com/students/"&gt;Student Developers&lt;/a&gt;&lt;a href="http://www.sun.com/training/catalog/developer.xml"&gt;Developer Training&lt;/a&gt;&lt;a href="http://bugs.sun.com/bugdatabase/"&gt;Bug Database&lt;/a&gt;&lt;a href="http://java.sun.com/reference/blueprints/"&gt;Java Blueprints&lt;/a&gt;&lt;a href="http://developers.sun.com/sunstudio/downloads/"&gt;Solaris C/C++/Fortran Compilers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;");&lt;br /&gt;//--&gt;&lt;br /&gt;2008 JavaOne Conference&lt;br /&gt;Register by April 7 and Save $200.00!&lt;br /&gt;Join the Java Community for the 13th annual JavaOne conference May 6–9, 2008, in San Francisco.&lt;br /&gt;»&lt;br /&gt;&lt;a href="http://ads.sun.com/ads/www/delivery/adclick.php?bannerid=2488&amp;amp;zoneid=561&amp;amp;source=&amp;amp;dest=http%3A%2F%2Fjava.sun.com%2Fjavaone%2F&amp;amp;ismap=" target="_top"&gt;Register Now&lt;/a&gt;&lt;br /&gt;document.context='YTowOnt9';&lt;br /&gt;Sun Tech Days  &lt;a title="Learn more about Microformats" href="http://microformats.org/" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;Get practical information, examples of real-world solutions, and hands-on training.&lt;br /&gt;» &lt;a class="morelink url summary" title="Sun Tech Days" href="http://www.suntechdays.co.za/"&gt;Johannesburg, South Africa, Mar. 11-13&lt;/a&gt;&lt;br /&gt;» &lt;a class="morelink url summary" title="Sun Tech Days" href="http://www.sun.ru/techdays"&gt;St. Petersburg, Russia, Apr. 2-4&lt;/a&gt;&lt;br /&gt;&lt;a class="morelink" href="http://developers.sun.com/events/techdays/"&gt;» More Tech Days&lt;/a&gt;&lt;br /&gt;Communities:&lt;br /&gt;&lt;a href="https://openjdk.dev.java.net/" target="_blank"&gt;OpenJDK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://community.java.net/mobileandembedded/" target="_blank"&gt;Mobile &amp;amp; Embedded&lt;/a&gt;&lt;br /&gt;&lt;a href="https://glassfish.dev.java.net/" target="_blank"&gt;GlassFish&lt;/a&gt;&lt;br /&gt;&lt;a href="https://openjfx.dev.java.net/" target="_blank"&gt;OpenJFX&lt;/a&gt;&lt;br /&gt;&lt;a href="http://netbeans.org/" target="_blank"&gt;NetBeans&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.net/" target="_blank"&gt;java.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jcp.org/" target="_blank"&gt;Java Community Process&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/sdnshare/"&gt;SDN Share&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Related Resources:&lt;br /&gt;&lt;a href="http://www.sun.com/opensource/java/"&gt;Open-Source Java Project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/web/"&gt;Web Developer Resource Center&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.com/en/"&gt;java.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;zones = 5;&lt;br /&gt;randomZone = Math.floor(Math.random() * zones) + 1;&lt;br /&gt;switch (randomZone){&lt;br /&gt;case 1:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 2:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 3:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 4:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 5:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;&lt;a href="http://ads.sun.com/ads/www/delivery/adclick.php?bannerid=2419&amp;amp;zoneid=444&amp;amp;source=&amp;amp;dest=http%3A%2F%2Fjava.sun.com%2Fjavaee%2Fcommunity%2Fcampaigns%2Fiphone-012008%2Fwelcome.jsp&amp;amp;ismap=" target="_top"&gt;&lt;/a&gt;&lt;br /&gt;Connect and Participate&lt;br /&gt;Try GlassFish for a chance to win an iPhone!&lt;br /&gt;&lt;a class="morelink" href="http://ads.sun.com/ads/www/delivery/adclick.php?bannerid=2419&amp;amp;zoneid=444&amp;amp;source=&amp;amp;dest=http%3A%2F%2Fjava.sun.com%2Fjavaee%2Fcommunity%2Fcampaigns%2Fiphone-012008%2Fwelcome.jsp&amp;amp;ismap=" target="_top"&gt;» Participate Now&lt;/a&gt;&lt;br /&gt;document.context='YToyOntpOjA7YToxOntzOjI6IiE9IjtzOjEzOiJiYW5uZXJpZDoyNDg4Ijt9aToxO2E6MTp7czoyOiIhPSI7czoxNDoiY2FtcGFpZ25pZDo5OTkiO319';&lt;br /&gt;zones = 5;&lt;br /&gt;randomZone = Math.floor(Math.random() * zones) + 1;&lt;br /&gt;switch (randomZone){&lt;br /&gt;case 1:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 2:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 3:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 4:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;case 5:&lt;br /&gt;if (!document.phpAds_used) document.phpAds_used = ',';&lt;br /&gt;phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11);&lt;br /&gt;&lt;br /&gt;document.write ("");&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;=0)document.write(unescape('%3C')+'\!-'+'-')&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/global/aboutsun.html"&gt;About Sun&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/aboutsdn.html"&gt;About This Site&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/newsletters.html"&gt;Newsletters&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/contact.html"&gt;Contact Us&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/employment.html"&gt;Employment&lt;/a&gt;&lt;a href="http://developers.sun.com/global/howtobuy.html"&gt;How to Buy&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/licensing.html"&gt;Licensing&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/termsofuse.html"&gt;Terms of Use&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/privacy.html"&gt;Privacy&lt;/a&gt;    &lt;a href="http://developers.sun.com/global/trademarks.html"&gt;Trademarks&lt;/a&gt;   Copyright 1994-2008Sun Microsystems, Inc.&lt;br /&gt;&lt;a href="http://developers.sun.com/global/aboutsdn.html"&gt;A Sun Developer Network Site&lt;/a&gt;&lt;br /&gt;Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this &lt;a href="http://developers.sun.com/global/berkeley_license.html"&gt;License&lt;/a&gt;.  &lt;a href="http://developers.sun.com/global/rss_sdn.html"&gt;&lt;/a&gt; &lt;a href="http://developers.sun.com/global/content_feeds.html"&gt;Sun Developer RSS Feeds&lt;/a&gt;&lt;br /&gt;printmenus();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-8071228987249720346?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/8071228987249720346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=8071228987249720346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/8071228987249720346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/8071228987249720346'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/java.html' title='java'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3916144387413564651.post-8405901285053278090</id><published>2008-03-11T04:04:00.001-07:00</published><updated>2008-03-11T04:04:28.992-07:00</updated><title type='text'>hai</title><content type='html'>raj&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3916144387413564651-8405901285053278090?l=rrajcse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rrajcse.blogspot.com/feeds/8405901285053278090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3916144387413564651&amp;postID=8405901285053278090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/8405901285053278090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3916144387413564651/posts/default/8405901285053278090'/><link rel='alternate' type='text/html' href='http://rrajcse.blogspot.com/2008/03/hai.html' title='hai'/><author><name>raj</name><uri>http://www.blogger.com/profile/02435241304812561459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
