[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stack and interrupt question



Daniel Fraile Vergel wrote:
> 
> The function escribe_fichero_texto is defined in another shared library 
> called libiofile.so. This function writes text files using locks. Using 
> this structure of files and libraries the arguments passed to 
> escribe_fichero_texto just before call it are different that the 
> arguments received inside the function. But if I copy the code of 
> update_maxTemp function inside task1 function the arguments passed are 
> correct. This makes me think about an stack problem, but now I'm not 
> sure of it.
> Could you find another explanation for this behavior?

This is just a guess, but it could be that there are conflicting 
function declarations.  I.e., one part of the code (your application) 
thinks the the parameters to escribe_fichero_texto should be passed in a 
certain way, but the escribe_fichero_texto function itself expects to 
receive them in another way.

For example, I can put foo() and bar() (see below) in separate files, 
compile them, and link them into an executable.  Needless to say, 
argument b in the bar function will be junk.

int main()
{
   bar();
   return 0;
}

int bar(int b)
{
   b++;
}

-- 
Orjan Friberg
Axis Communications