Explain the differences between macros and subroutines, Computer Engineering

Assignment Help:

Explain the differences between macros and subroutines.

Macros Vs Subroutines

(i) Macros are pre-processor directives which are processed before the source program is passed to the compiler.

Subroutines are blocks of codes along with a exact task, to be performed and are directly passed to the compiler.

(ii) In a macro call the pre-processor replaces the macro template along with its macro expansion, in a literal manner.

As against this, into a function call the control is passed to a function with exact arguments, some computations are performed in the function and a helpful value is returned back from the function.

(iii) Macro raises the program size. For illustration, if we use a macro hundred times in a program, the macro expansion goes in our source code at hundred various places. Because the function makes the program smaller and compact, for example, if a function is used, the even if this is called from hundred various places in the program, this would take similar amount of space in the program.

(iv) Macros compose the program run faster as they have already been expanded and placed into the source code before compilation. While, passing arguments to a function and obtaining back the returned values does take time and would thus slow down the program.

(v)   Illustration of macro

#define AREA(x) (3.14*x*x) // macro definition main(){

float r1=6.25, r2=2.5, a;

a=AREA(r1); // expanded to (3.14 * r1 * r1)

printf("\n Area of circle =%f",a);

a=AREA(r2); // // expanded to (3.14 * r2 * r2)

printf("\n Area of circle= %f",a);} Example of subroutine

main(){

float r1=6.25, r2=2.5, a;

a=AREA(r1); // calls AREA() printf("\n Area of circle =%f",a); a=AREA(r2); // calls AREA()

printf("\n Area of circle= %f",a);}

float AREA(float r) // subroutine{

return 3.14*r*r;}


Related Discussions:- Explain the differences between macros and subroutines

Micooperation, please suggest me ,how to write microopertions,and study for...

please suggest me ,how to write microopertions,and study for computer architecture

Difference among interrupt service routine and subroutine, Subroutine are t...

Subroutine are the part of implementing processes (like any process can call a subroutine for achieve task), whereas the interrupt subroutine never be the part. Interrupt subroutin

What is basic analog design, What is basic Analog Design? Analog design...

What is basic Analog Design? Analog design is rather challenging than digital design as analog circuits are sensitive to noise, operating voltages, loading circumstances and ot

Show the process management for parallel virtual machine, Q. Show the Proce...

Q. Show the Process Management for parallel virtual machine? Process Management  int pvm_mytid( void ) Returns the tid of the calling process. Tid values les

What is the resolution of this DAC, A 5-bit DAC produces an output voltage ...

A 5-bit DAC produces an output voltage of 0.2V for a digital input of 00001. Find the value of the output voltage for an input of 11111. What is the resolution of this DAC? Ans

Optical resolution of scanner, Optical resolution or hardware resolution is...

Optical resolution or hardware resolution is mechanical limit on resolution of Scanner. For scanning the sensor has to advance after every line it scans. Smallness of this advancem

How the canvas class and the graphics class are linked, A Canvas object giv...

A Canvas object gives access to a Graphics object by its paint() method.

Environment of the packet flow, Q. Environment of the Packet Flow? Prot...

Q. Environment of the Packet Flow? Protocol stack used on Internet is referred to as TCP/IP protocol stack. If we were to follow the path that message "Hello computer 5.6.7.8!"

Give a simple example of dynamic modelling, Give a simple example of dynami...

Give a simple example of dynamic modelling using these notation A simple example using these notation is shown below in Figure:

What is an algorithm, What is an algorithm The solution to any problem ...

What is an algorithm The solution to any problem that is stated by an exact number of well-defined procedural steps is known as an algorithm.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd