This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Keil, Instrinis function defination

I am using AT89C55WD, 40 pin DIP, in one of my project.
I have connected 12Mhz crystal. It is 8051 variant. So inst time is 1us.
Using Keil v4.72.9.0 & C compiler V9.50.0.0

I am programming in C. In one place I have use _nop_().When I saw its reference it showed in Keil folder file "intrins.h".
But there it has reference only "extern void _nop_ (void);"
There is no definition.
I know it will something like "asm(Nop)". Not inetersted in its defination but in place where it is defined
But I want to know like if function definition is not present in project folder & only it has project reference, then how do code builds?

Parents
  • Keil might have added the function prototype to the header file just to inform programs that processes source code (like lint, doxygen, ...) about the existence of such a "function".

    But Keil may then have hard-coded the actual implementation into the compiler. So no implementation to see until you look at the produced code output from the compiler.

    Intrinsic "functions" really are rather special, as can be heard from the term "intrinsic".

Reply
  • Keil might have added the function prototype to the header file just to inform programs that processes source code (like lint, doxygen, ...) about the existence of such a "function".

    But Keil may then have hard-coded the actual implementation into the compiler. So no implementation to see until you look at the produced code output from the compiler.

    Intrinsic "functions" really are rather special, as can be heard from the term "intrinsic".

Children