C :: How To Share Variable Value From One Source File To Other Header File
Dec 11, 2014
I wanted to share the value of a variable from Sender Program to Receive after program and want to calculate difference between send and receive. After studying Header file concept I program following three.
Now I am struck. How to to compile? I link all these file. I used following method:
Then I run Sender and after that Receiver.I per my knowledge, Receiver should give difference but it gives error :
Code:
Receiver.c: In function "main":
Receiver.c:10:42: error: "Send" undeclared (first use in this function)
printf(" Total Receive is %d
",Receive-Send);
Code:
Sender.c
#include <stdio.h>
int Send ;
void main(){
My socket.cpp program got error. it showed "socket.h: no such file or directory". I had put my header file (socket.h) in the same place with my source file.
Let's say I am using a library containing classes called class1 and class2 but both classes take three arguments to construct them. eg. class1(int a, int b, int c). and the same for class2
The below is an example of how to lay out the structure in the header and source file if class1 and class2 don't have any arguments in their constructor. But.... I'm not sure how to go about the below to take into account the constructor arguments of class1 and class2.
In general, my problem is that I've been trying to reorganize the project I and my group are working on into separate project files. Everything was working perfectly fine before, but now I'm facing the wrath of undefined reference errors when I try to call my DLL functions.
I have them declared and included in the central header file here :
Code:
/* DLL functions */ typedef void ( * t_wait )( int milliseconds, const int frames_per_seconds ); typedef clock_t ( * ft_timer )( int command, t_timer * timer_object ); /* clock_t is usually defined as long */ typedef void ( * t_SDL_errorexit )( const char * message ); typedef SDL_Surface * ( * t_load_image )( char * image_path, unsigned is_transparent );
[Code]...
Then I have them imported here :
Code: /* ******************************************************** */ /* ********* win_error( char *, bool ) ********* */ /* ******************************************************** */ /* - Displays a GUI for a windows specific error message, */ /* pass true to it to have it exit the program, pass false */ /* to have it continue */ /* ******************************************************** */ extern void win_error( char * message, bool is_exit ) { /* Note : win_error uses the Win32 Api */ /* ********************************** */ char buffer[BUFSIZ] = { 0 }; /*
[code]...
This doesn't work, as my compiler sees it that I am trying to call invalid functions, whereas I have made sure to import the functions before calling. Obviously my compiler can't tell that, and is trying to protect me from calling them.
The source files are compiled as C++, but I'm using C-style code instead of true C++ code.
Obviously I'm using Windows style DLL linking, but if the only ways to share imported functions are non-standard, only post ways that will work on as low as Windows XP.
I have tried to statically link them before, but that led to a problem that I posted a while back. Which led me to dynamically linking, which was problem-free until I separated my code into separate files.
this last few days I've been coding this one particular file
Hero.cpp
namespace Hero { namespace { // all data here } }
then the code grew a bit to about 700 line
Then now I want to implement hero skill system It needs the access to data inside the unnamed namespace where I put just about everything.. but it's unnamed namespace, it's only valid within one file and I should hide all that data from Hero interface in Hero.h How should I do this ?
Basically i'm willing to create an application which could share Video,Mp3 Over the internet to my friends.
For suppose I'm hosting file on my PC, and i want to share "D" Drive to my friends but they aren't connected to my network locally. i want to share movies over the internet using a host and client application in c#.net.
the purpose of this application is very clear that that i want to share movies over the internet and they have to be able to watch movies on their PCs Except running my PC remotely.
I have written my program and it works when I keep everything in the header files, and then have my main. I am now splitting them up into implementation files, but Eclipse keeps giving me errors. It gives me error at every opening brace of the constructor and functions. It says on all of them "Redefinition of (name of constructor or method), Previously declared here." What am I doing wrong, because it works in the header file?
I have been working a project in C++. I have TTTMain.cpp file that has all the function calls, TTTFuntions.cpp that has all the functions, I have TTT.h file that has all the prototypes and variables and additionally I have Winner.h that has enum class Winner declaration in it. Here is my block of codes:
Winner.h file:
#ifndef winner #define winner enum class Winner {
[Code]....
My question is when I compile this gives me error on
I made my header file. If cpp file with definitions is in project compiler knows it has to be linked, but if it's not compiler doesn't know. If I include standard library or boost I don't have to manually link cpps. How to do so including my header automatically links cpp? Maybe problem is with something else?I use VS 2013.
I was going through a code where i found the definition of int array[63] in one of the source files. But i also found the declaration as extern int array[66] in another source file. This is clearly wrong, but my doubt is how the compiler compiled it. It should have thrown error. In case if it compiles then what will be the behavior of the system? Will it be normal or some undefined behavior?
I use a programming language called layout which nobody here has probably ever heard of. It was discontinued over 15 years years ago but it was a very visual & easy to use piece of software - no coding required. In fact once you name all the variables on cards (forms) from then on it's just mouse clicking & occassionaly typing a number if required. It used blackboxes in a flowchart arrangement which were pre-done code for doing just about anything. i.e opening windows, handling numbers & text, files etc. I have written many programs with it including database management, quoting software & currently use it in my business to track my jobs & do invoicing & ordering. It's a pity it wasn't updated & still around today.
[URL]
Back to the problem. Being a 16 bit program it was written to run on Windows 3.1 but still works on Windows 7!! as long as it is the 32 bit version. I need to write a program that will run on 64 bit W7 without resorting to using a virtual PC solution. I have tried to find something similar that I might be able to use instead but so far nothing comes close to Layout. I just remembered today that layout can produce not only .exe programs but also various versions of C/C++ including visual c++. So I got this idea that if I could get those files I might be able to stick them into a C compiler program to re-make a "modern" exe file.
I could just do a simple sample program & send the source code to them to see if it works on a 64 bit version of Windows 7. how I can do this myself to produce a working exe file.
I have a project that has a few .asm files (assembly language code), I have the compiler/assembler set to create a list file for the assembly code and would like the debugger to use the .lst file for the source instead of the .asm files because in the .asm files the macros are not expanded like they are in the .lst files which makes debugging difficult sometimes.
I have four source files. The main source file includes two other source files. The two other source files both include the fourth source file. In the fourth source file I have an include guard. Will the code from the fourth source file exist in two locations in the compiled code? Is this something that is compiler dependent? An example of this is shown in the code below.
I have written a program that copies a file from the source and pastes it there (same location), but with a different name. The program works fine, except there is a small bug that i can't seem to fix. Here is the code:
/* This program copies a file from the current directory and pastes it to the same directory, but with a different name. The file name form the source must include the extension as well. */
> 1) Enter the name of the file you'd like to copy (Must be from the current directory) > A: 3.c // This depends if the file exists in the > current directory > > 2) Enter the name of the destination file (The file will be copied to the same directory) > A: 4 //The extension isn't necessary here > > Result: The file was copied successfully!
When I run the prg again, and this time input a file name with no extension, like this:
> Enter the name of the file you'd like to copy (Must be from the current directory) > 3 > You did not enter a valid text. Press "?" to get help or "x" to exit.
I hit "?" and it takes me to
> 1. The file must be from the current directory) > 2. The location mustn't be empty
Then it asks me
> Try again? (Y/N)
If i give N, it exits. BUT if I give Y, it goes, like this:
> Enter the name of the file you'd like to copy (Must be from the current directory) > You did not enter a valid text. Press "?" to get help or "x" to exit.
You see, it doesn't give me the option to give it the file name..
I am using the OpenCV library (2.3.1-7) and Qt-Creator (2.4.1) and I have this simplified piece of code that reads in an image as cv::Mat and then applies the OpenCV function pyrDown to the cv::Mat.
#include "opencv2/highgui/highgui.hpp" #include "opencv2/gpu/gpu.hpp" using namespace std; using namespace cv; int main()
[code]....
This piece of code runs just fine and puts out the two different images as exected.
What I need to do now is to retrieve the source code of the "pyrDown"-function and then modify it according to the needs of the project that I am working on.
If I comment out the following line
//#include "opencv2/gpu/gpu.hpp"
then this results in the following error message:
'pyrDown' was not declared in this scope.
Apparently, pyrDown only works if #include "opencv2/gpu/gpu.hpp" is included in my code. Therefore the header of pyrDown should be included in this file, correct?
I am using Qt-Creator and the tooltip text for "pyrDown" is as follows:
Therefore, when i checked the file "/usr/include/opencv2/gpu/gpu.hpp" (which is the complete path to the file), looking for the headers of "pyrDown" I expected to find a matching header.
Those are all the lines of code where the character string "pyrDown" is included.To me, being rather a newbie, it is kind of strange that there is no header that matches the call of the function as it was included in my simplified code example at the very top of this post.
What I would like to understand is the following:
1) Is the file gpu.hpp really the one that stores the header that is used for the call in my code example? If so, I would like to understand why this is the case, since the data types of the parameters seem not to match (eg "GpuMat&" vs. "InputArray"). In gpu.hpp there are other files included, using the "#include"-command, but a text search in those files did not find any strings like "pyrDown" in any of them.
2) If gpu.hpp is not the header file that I am looking for, which one is the correct one and where can I find it?
3) The most important part for me is: Where can I retrieve the corresponding .cpp file for pyrDown, since this is crucial to the progress in my project. I have googled a lot and I found lots of .cpp files that were named "pyrDown.cpp" (example: [URL]), but none of them seems to be the one that I am looking for since either the data types in the header are not in accordance with what I expect or there are #include commands for files that I do not have available on my machine. And I assume that any .cpp-file that tries to use files that are not on my computer can not be the one that is used for the call in the code example at the top of this post.
I'm about to begin work on an exercise that requires me to maintain a list of the variables inside a c source file. I'm trying to figure out how I'm going to pluck out the variable names from all the other noise. My first thought would be to count any word that isn't a keyword or other type of grammar syntax, such as parenthesis, brackets, semicolons, etc. right?