You should include external_funcs.h in load_struct.cpp and calc_struct.cpp too. Otherwise the compiler can't warn you when you create the functions differently than you specified in your header file -- that's a bug which can be a real pain to find the source of.
Beyond that, your code looks fine.
Thanks, I knew there were a few things I forgot.
I extended the exercise to have the calc function called by the loading function and was surprised to find that you don't use the & (if you want it to compile).
The call to load, passing the pointer to myStruct1, is set up as,
load_struct( &myStruct1, a, b, c, d, &answer );
where both myStruct1 and answer are pointers to a var declared in main().
The call to calc seems to be passing the same instance of struct by value,
*answer = calc_struct( myStruct1);
and doesn't compile if you try to pass it as a pointer,
*answer = calc_struct( &myStruct1);
Is that because the compiler already sees the value as pointer, and so would be trying to do **myStruct1? All of the programming I initially learned was in Fortran, where everything is passed as a pointer and there is usually only one way to do most things.
Would this work just as well if the prototypes were absent the extern "C" tag? In the past, I have had a few issues with things in header files where the compiler complained that something was declared in more than one place. I have also has some issues with the linker finding things when the src is spread across multiple src files. I make enough little errors that I can't always be sure if the issue is my choice of method, or its implementation. It appears that it is proper to have struct/class definitions, or function prototypes, in header files that are included in multiple places. Is that correct?
All,
I have a sh script of the following tune:
function a () { #functionality.. }
function b () { #functionnlity.. }
function check () { # this function checks for env and if all fine call build }
function usage () { #sh usage details }
function build () { #calls either a or b or... (5 Replies)
Hi,
I have a function that hold 3 arrayies.
I need to pass them to another function as an input, for further use
Could you please explain how to do that.
Thanks (5 Replies)
I write kernel module with kernel threads using
linux/kthread.h on 2.6.* kernel
I tried to passing data between two kernel threads
with data argument of kthread_run( fun, data , NAME );
but this is not work I dont know why. I tried many possibility
and nothing works.
So I thought that... (0 Replies)
Hi All,
My latest assignment (practice not coursework!) is to write prototype interactive exam/test console application. I've used structs to store the question information (not sure if this was the best way to do it?) and I have the following code that outputs each question and it's possible... (0 Replies)
EDIT: Nevermind, called a friend who is good at this stuff and he figured it out :D
Hi all,
So I'm trying to teach myself to write programs for unix in c. I am currently creating a program, and I need to pass a struct through a pipe, but I can't figure out how.
The struct I want to pass... (0 Replies)
Hi, i'm trying to copy a struct into a binary file using the unix instruction write, so i declare and fill the struct "superbloque" in one function "initSB" and then i pass the pointer to another function called bwrite (for block write) which calls write. The problem is that i call the function... (2 Replies)
hi,
I am trying to export a variable from the parent makefile to a child instance of my makefile within the same directory.
the relevant code in my parent makefile is:
libvar := $(notdir $(basename ../src/file1))
export libvar
.PHONY: library
library:
make -f makechild libvar=file1... (0 Replies)
In a well-known book on the C language, there is an example of an efficient method for using a struct member as an argument to a function. (I'm a C noob, but I believe the correct terminology might be: use call-by-reference instead of call-by-value.) The function is printf.
Anyway, here's a... (5 Replies)
Hi,
I am a beginner in python programming. In my python script have a main function which calls several other functions. The main function gets its input by reading lines from a input text file. I call the main function for every line in input text file through a loop.
def main(line):
var1... (6 Replies)
I'm reading a text file using a while loop but when I call a function from within this loop it exits that same iteration … even though there are many more lines in the file to be read.
I thought it was something to do with the IFS setting but it appears that a function call (when run... (3 Replies)