<?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:blogger='http://schemas.google.com/blogger/2008' 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-1649654638953408586</id><updated>2024-09-24T18:22:06.705-07:00</updated><category term="Compiler Specific"/><category term="Arrays"/><category term="Links"/><category term="programs"/><category term="Basics"/><category term="Interview"/><category term="architecture"/><title type='text'>Learning C</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-3418843841036254215</id><published>2010-07-31T14:56:00.000-07:00</published><updated>2010-07-31T14:56:22.167-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Compiler Specific"/><title type='text'>Data Alignment Question Interview - PowerPC</title><summary type="text">What happens when you try to read an integer value from memory address 0x000003?
&amp;nbsp;assume: ANSI C standards
Things to look for:
Does the candidate know
&amp;nbsp; 1.&amp;nbsp; what is the size of integer in PowerPC EABI&amp;nbsp; ANSI C
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 4 bytes 
&amp;nbsp; 2.&amp;nbsp; what happens when a read from a non aligned address and how to handle it
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/3418843841036254215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/3418843841036254215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3418843841036254215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3418843841036254215'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2010/07/data-alignment-question-interview.html' title='Data Alignment Question Interview - PowerPC'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-3098351171466807741</id><published>2010-01-14T10:36:00.001-08:00</published><updated>2010-01-14T10:36:42.097-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Links"/><title type='text'>Elf file details</title><summary type="text">good overview of elf files
http://docs.sun.com/app/docs/doc/802-1948/6i5uqa9pl?a=view</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/3098351171466807741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/3098351171466807741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3098351171466807741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3098351171466807741'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2010/01/elf-file-details.html' title='Elf file details'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-9188968933163558568</id><published>2010-01-14T10:28:00.000-08:00</published><updated>2010-01-14T10:28:48.340-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Links"/><title type='text'>Example codes</title><summary type="text">A good site for all example codes
c c++ java assembly php VB .net
http://www.happycodings.com/</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/9188968933163558568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/9188968933163558568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/9188968933163558568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/9188968933163558568'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2010/01/example-codes.html' title='Example codes'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-3287361812968498558</id><published>2009-12-30T10:11:00.000-08:00</published><updated>2009-12-30T10:13:48.377-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programs"/><title type='text'>Simple function to print hello world without a semi colon</title><summary type="text">This is a very simple program which is used to print &quot;Hello World&quot; without using a semi circle.void main(){   if(printf(&quot;Hello World&quot;)  {     /* Do nothing */  }  else  {     /* Do nothing */  }}</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/3287361812968498558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/3287361812968498558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3287361812968498558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/3287361812968498558'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2009/12/simple-function-to-print-hello-world.html' title='Simple function to print hello world without a semi colon'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-1723710483616916293</id><published>2009-12-30T09:34:00.000-08:00</published><updated>2009-12-30T10:05:55.298-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Compiler Specific"/><title type='text'>Complier Allocating the memory in different areas</title><summary type="text">Consider the following lines of code:Question is where will these variables and constant be allocated in the micro controller?static char x;  /* Static uninitialized variable */static char y = 10; /* Static initialized variable */const char z = 20;  /* Constant data */void f1(void){ char a; /* goes into stack */        a = 1;         x = y + z;}Answer:compiler will allocate &#39;x&#39; to a location in </summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/1723710483616916293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/1723710483616916293' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/1723710483616916293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/1723710483616916293'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2009/12/complier-allocating-memory-in-different.html' title='Complier Allocating the memory in different areas'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-8008375627806650058</id><published>2008-12-29T22:00:00.000-08:00</published><updated>2009-01-23T05:07:56.225-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="architecture"/><title type='text'>Software Design &amp; Other</title><summary type="text">Architecture for reusable embedded codehttp://www.embedded.com/207402543Reentrancy explained http://www.embedded.com/story/OEG20010311S0005Review &amp; Inspectionhttp://embedded.com/design/testissue/212700467?pgno=1</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/8008375627806650058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/8008375627806650058' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/8008375627806650058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/8008375627806650058'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/12/architecture-for-reusable-embedded-code.html' title='Software Design &amp; Other'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-7459133332751481722</id><published>2008-12-23T21:33:00.000-08:00</published><updated>2009-01-19T23:13:09.381-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Compiler Specific"/><title type='text'>C Compiler - Optimization Behavior</title><summary type="text">Below article gives a good description of compiler optimization and programming techniques: http://www.embedded.com/columns/showArticle.jhtml?articleID=193200027Excellent link on various types of variables &amp; constantshttp://users.ece.utexas.edu/~valvano/embed/chap4/chap4.htm</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/7459133332751481722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/7459133332751481722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/7459133332751481722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/7459133332751481722'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/12/c-compiler-optimization-behavior.html' title='C Compiler - Optimization Behavior'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-9170475195207863266</id><published>2008-09-23T11:21:00.000-07:00</published><updated>2008-09-24T08:27:34.767-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Interview"/><title type='text'>List of firmware interview questions</title><summary type="text">C language related1) Function Pointer      declaration, use and example2) Pointer to Function?3) Pragma where is it used?4) Linked List5) Structures and Unions6) Sorting Algorithms and programs (merge and bubble sort)7) void * where is it used?Process Related1) SDLC software development life cycle2) PVCSH/W1) Different types of RAM2) Different types of A/D convertersMicrocontroller1) DMA2) ARM?3)</summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/9170475195207863266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/9170475195207863266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/9170475195207863266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/9170475195207863266'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/09/list-of-firmware-interview-questions.html' title='List of firmware interview questions'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-4677469942390506900</id><published>2008-09-20T03:03:00.000-07:00</published><updated>2010-01-14T10:16:52.043-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programs"/><title type='text'>C program for Factorial of a given number using recursive function</title><summary type="text">#include &quot;stdio.h&quot;

/*
The following code gives factorial of any give integer
*/
unsigned int factorial(int num)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(num == 1 || num == 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num = num * factorial(num - 1);       
}

void main()
{
&amp;nbsp;&amp;nbsp; int y = 5;

&amp;nbsp; /*
&amp;nbsp;&amp;nbsp; Check if the user gives a </summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/4677469942390506900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/4677469942390506900' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/4677469942390506900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/4677469942390506900'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/09/use-recursive-function-to-generate.html' title='C program for Factorial of a given number using recursive function'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-8013315635454927764</id><published>2008-09-20T02:02:00.000-07:00</published><updated>2010-01-14T10:41:00.996-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Basics"/><title type='text'>Difference between Preprocessor, Compiler, Assembler, Linker and Interpreter</title><summary type="text">The following article gives succinct and brief description of Preprocessors, Compilers, Assemblers, Linkers and Interpreters. While all of these are in some way used to command a processor to do certain set of actions, there is a subtle difference in each of them. This article also, gives links to other related areas.

Preprocessor: All the preprocessor commands written in a high level language </summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/8013315635454927764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/8013315635454927764' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/8013315635454927764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/8013315635454927764'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/09/difference-between-preprocessor.html' title='Difference between Preprocessor, Compiler, Assembler, Linker and Interpreter'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjcYjTA5FYUald_VPL3Q6u9mdWzxkVn1lI4WJA40hsYlDA3VZtpO-l_v4hmmUNxBAbNSLj6Pl0ZGi7fXfOybng8y128HNbv6YOuffuxvM5NmaPdlxgd-pFecR-NKB2HdwUohHFO_jWpMo/s72-c/compilation+process.bmp" height="72" width="72"/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-6764914646566638121</id><published>2008-01-22T09:04:00.000-08:00</published><updated>2008-01-22T10:21:55.097-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arrays"/><title type='text'>2D arrays - Pointer to Array - Array of Pointers - pointer to pointer</title><summary type="text">This article focuses on 2D arrays and use of pointers to access them.Simple Declaration:    int arr[2][3];This way we are declaring a 2X3 array or matrix    arr[0][0]    arr[0][1]   arr[0][2]    arr[1][0]    arr[1][1]   arr[1][2]This type of declaration is useful when we know the size of array.Useful in embedded programming, where, standards guide that fixed arrays have to be used as RAM size is </summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/6764914646566638121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/6764914646566638121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/6764914646566638121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/6764914646566638121'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/01/2d-arrays-pointer-to-array-array-of.html' title='2D arrays - Pointer to Array - Array of Pointers - pointer to pointer'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1649654638953408586.post-5017259601199294014</id><published>2008-01-21T10:23:00.000-08:00</published><updated>2008-01-21T11:04:17.519-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arrays"/><title type='text'>1D arrays basics declaration and memory allocation</title><summary type="text">Declaring and handling one dimension (1D) arraysint arr[3] = {1,2,3};Assuming int = 2 bytesWhen declared, compiler will allocate 3, 2 bytes of address to variable arrarr         = 0x1111 [is a memory location] &amp;amp; sizeof(*arr) = 2 bytes; so total arr = 0x1111 to 0x1112arr + 1  = 0x1113 [is a memory location] &amp;amp; sizeof(*(arr+1)) = 2 bytes; so total arr = 0x1113 to 0x1114arr + 2 =  0x1115 [is </summary><link rel='replies' type='application/atom+xml' href='http://c-links.blogspot.com/feeds/5017259601199294014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1649654638953408586/5017259601199294014' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/5017259601199294014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1649654638953408586/posts/default/5017259601199294014'/><link rel='alternate' type='text/html' href='http://c-links.blogspot.com/2008/01/declaring-and-handling-one-dimension-1d.html' title='1D arrays basics declaration and memory allocation'/><author><name>Destination - spot!</name><uri>http://www.blogger.com/profile/09725692900949934102</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>