C++ :: Headers And Objects Files

May 20, 2013

I have a question regarding how GCC relates a header file and its binary file.

main.c
#include <math.h>
#include <stdio.h>
int main (void){
double x = sqrt (2.0);
printf ("The square root of 2.0 is %f
", x);
return 0;
}

we can compile it by running the line: gcc main.c -lm -o main

My question is: How GCC knows where is the definition of sqrt?

First I was thinking that there was and object file with the name math.o inside libm.a (that is GCC will look for an object file with the same name as the header file), but after running the next line I think my assumption was wrong as there is not such file in libm.a.

nm libm.a | grep math.o
nm: e_acos.o: no symbols
nm: k_cos.o: no symbols
nm: k_sin.o: no symbols

[Code] ....

View 7 Replies


ADVERTISEMENT

C++ ::  Headers With Multiple CPP Files

Mar 22, 2013

So I have a rather large (for me) project, requiring me to have two .cpp files and a header. Anyway, both of the .cpp files #include the header file, but I recieve linker errors because the variables and functions in the header are declared and defined twice (once in each .cpp file). How am I supposed to do this?

View 8 Replies View Related

C++ :: Reading BMP Files Headers

Apr 19, 2013

Code:

struct magic {
char windowsheader[2];
} magicnumbers;
struct bmp {
unsigned int sizeofthefile;
short int applicationspecific1;

[Code] .....

When I run this program, seems like it is working,at least I am sure that it gives the right file size. But if I don't use struct magic and instead use:

Code:
struct bmp {
char windowsheader[2];
unsigned int sizeofthefile;
short int applicationspecific1;
short int applicationspecific2;
//same lines with above
} bitmap_header;

And if I don't use first fread:

Code:

fread(&magicnumbers,sizeof(magicnumbers),1,fp);

Then the values which structure "bmp"'s variables get become wrong. Of course I change the related printf to:

Code:
printf("
windowsheader:%d %d
",bitmap_header.windowsheader[0],bitmap_header.windowsheader[1]);

Why does the problem happen,what is the difference between them?Why do I have to use separate structs?

View 2 Replies View Related

C :: Putting Functions / Headers In Separate Files?

Aug 2, 2013

I have just learned about how one can put functions and headers in different files from the main() function. I was wondering if there is a rule of thumb of when and when not to separate the two, or if it's merely preference. Is there perhaps an "industry standard" regarding this, for those who program in C for a living?

View 4 Replies View Related

C++ :: Passing Different Objects Between Different CPP Files

Nov 13, 2013

The game is going to be an RPG where you take turns attacking enemies. Your character will be able to attack/defend/use item/run/use magic spell. For now, we just want the bare basics - for a character to be able to do a generic attack and to be able to fight a generic enemy (so we're not worried about items and such things yet).

Our cpp files are: hero.cpp (which is actually the main file... and should be renamed to something better, admittedly), enemyStats.cpp (contains a class for enemies that lets you declare its HP/attack/etc), playerStats.cpp (see previous; but for your character) and attack.cpp, which contains the following:

int attackFunction(player myPlayer, enemy myEnemy)
{
print("Your player attacked for %d damage, bringing the wolf down to %d HP.", myPlayer.getAttack(), myEnemy.getCurrentHealth-myPlayer.getAttack());
}

We barely started, but we're already stuck on that part. I managed to make the program run just fine in terms of giving the player and enemy stats and reading it, but whenever I try to run this code in my hero.cpp (inside of main):

attackFunction(warrior, wolf);

it tells me that "enemy" has not been declared.

If I run the same code, but without any references to the wolf/enemy (so just warrior/myPlayer), it runs perfectly fine. Likewise, the program runs perfectly fine if I don't use attack.cpp and put the function directly inside of the main hero.cpp folder.

View 11 Replies View Related

C++ :: Writing / Reading String Objects To / From Files

Jul 7, 2013

I am using the code below to write a single instance of object "Employee" to a file in Binary mode. The write part seems to work fine, however when I try to read the single employee object from the file into memory I get a double free or corruption error.

I think this has to do with the fact that I am using a string data member in the Employee class but I don't understand what is going wrong. I have read that strings can vary in length and use dynamic memory allocation but if I write a single employee object to a file with data member 'name' equal to "John", it should be the exact same size when I read it back in right?

The code below works with no issues when I omit the string data member. Why is that? Where is the memory for the string object being "double released" when I read the employee object back into memory from the file?

I am using Linux Mint 15, Eclipse June and GCC 4.7.3 with the -std=c++11 option.

#include <iostream>
#include <fstream>
#include <string>

[Code].....

View 3 Replies View Related

C++ :: Hide Class Implementations Using Headers?

Oct 16, 2013

I am currently working on data abstraction. I was able to write a class (a simple clock, see Malik's C++ book, Chapter 12 for reference). As you can imagine, I am quite new to programming and C++.

Well, now I created a header file clock.h that includes the class definition and function prototypes as well as a implementation.cpp file with the implementation details of the class.

I managed to include all this in my program.cpp and compile it (using dev c++). Everything works exactly as I want it to.

So now my question is, how can I create ... I am not sure how it is called ... a header, but without revealing to the user how the functions are implemented. Basically the user should get a file (the object code of the header + implementation.cpp?) and simply #include it into his own program.

So instead of giving the original header + implementation.cpp to the user I want to hide how my class does its stuff and instead just provide some file that can be included and then used in a program (I will write a documentation how to use the class).

I am not sure how all this is called, I am sure there is some name for it...

View 4 Replies View Related

C/C++ :: Write Headers For Member Functions

Mar 5, 2014

Assume a class named Dollars exists. Write the headers for member functions that overload the prefix and postfix ++ operators for that class.

View 1 Replies View Related

C++ :: How To Add Excel Library Or Include Headers

Jul 16, 2013

I want to read/write the excel sheet using C++. how to add the excel library or include the headers ?

Inot possible than is there any other way to work on Excel using C++.

View 4 Replies View Related

C++ :: Testing HTTP Headers - For Loop And Strings

Jun 23, 2014

I am testing HTTP Headers and I have an strange problem. When I get the response of the server, it is the correct one the first time. If I use a for loop to send more than one request and get more than one response, this response seems to be overlapped with the previous ones. To a better explanation of the problem I attach the code I am using and the output generated:

TCPSocket.h
-----------
#ifndef _TCPSOCKET_H_
#define _TCPSOCKET_H_
class TCPSocket {
private:
int localSocket;

[Code] .....

So, a bigger loop, a bigger the response of the server. However, I know the response of the server is always the same.

View 3 Replies View Related

Visual C++ :: How To Configure Additional Include Headers

Jun 16, 2014

I want to include boost directory. What must be in the Additional Include Directories input?

I tried

C:C++boost_1_55_0libsaccumulatorsexample;$(BOOST_ROOT);%(AdditionalIncludeDirectories)

But I am still getting error "Cannot open include file: 'boost/libs/accumulators/lambda/lambda.hpp': No such file or directory" when I include

Code:
#include <boost/libs/accumulators/lambda/lambda.hpp>

The file is placed out side of boost directory of sure.

View 3 Replies View Related

C/C++ :: Objects Hold References To Other Objects?

Nov 12, 2014

This has been bothering me for a while now, and I finally put together an example:

#include <iostream>
#include <string>
using namespace::std;

[Code]....

In the code above, the two classes hold pointers to each other, and that's fine but it doesn't seem right since C++ prefers to pass by reference. Yes, it can still do that (see testbox and testball) but even that seems odd to me because still you need to use pointer notation for the enclosed object. Am I the only one who feels this way, and should I just get over it? Or am I missing something that would allow an object to hold a reference?

View 4 Replies View Related

C :: Program To Hide Files Behind Other Files Using Alternate Data Streams

Apr 5, 2013

I am writing a program to hide files behind other files using Alternate Data Streams in Windows NTFS file systems.

The program is as follows:

Code:

#include <stdio.h>
#include <stdlib.h>
int main(void){
char hostfile[75], hiddenfile[75], hiddenFileName[15] ;
printf("Enter the name(with extension) and path of the file whose behind you want to hide another file: ");
scanf("%75s", hostfile);

[Code]...

The complier is showing error as "Extra Perimeter in call to system" but I am not getting where?

View 4 Replies View Related

C++ :: Display Last 1000 Lines From Multiple Text Files (log Files)

Jan 16, 2014

I am writing a piece of code that requires me to display the last 1000 lines from a multiple text files (log files). FYI, I am running on Linux and using g++.

I have a log file from which - if it contains more than 1000 lines, I need to display the last 1000 lines. However, the log file could get rotated. So, in case where the current log file contains less than 1000 lines, I have to go to older log file and display the remaining. For e.g., if log got rotated and new log file contains 20 lines, I have to display the 980 lines from old log file + 20 from current log files.

What is the best way to do this? Even an outline algorithm will work.

View 6 Replies View Related

Visual C++ :: Should Precompiled Header Files Also Be Included In Source Header Files?

Sep 16, 2013

When including a header file in stdafx.h, should that file still be included in the source file where it is actually used?

If it is included in both places, is the one in the source file ignored?

View 5 Replies View Related

C++ ::  attraction Between Objects

Apr 2, 2013

i am relatively new to c++, and am trying to make it so particles will gravitationally attract to the mouse pointer. i have gotten all the bugs that the compiler found, but there must be another because the program crashes the second i open it. my code could be way off, so just tell me if it is and ill do more research and learning before trying something like this again. here is the code:

#include <SDL/SDL.h>
#include <iostream>
#include <vector>
#include <math.h>
#include <stdio.h>
using namespace std;
float mouseX;
float mouseY;

[Code] .....

View 6 Replies View Related

C++ :: The Proper Way To Do A Vector Of Objects

Oct 20, 2014

I've been really busy but managed to get in enough down time to learn somewhat decent info about vectors. Anyways originally my program created a dynamic array of pointers to class objects and I came across a few problems because of this. Apparently an array of pointers is now outta of the question and I will now be switching to a vector of objects instead.

Why I want a list of objects instead of pointers this little comment should clear things up.

tiles[i]->show() dereferences tiles[i] (i.e. accesses whatever it points at) before calling the show() method.

That is undefined behaviour. Once undefined behaviour occurs, there is no recovery, and there is nothing the show() method (or any subsequently called function for that matter) can do to recover (short of invoking their own forms of undefined behaviour - compiler specific hacks, etc).

Even if the show() method initialises the object correctly, it cannot change the pointer tiles[i] which is in a different scope (within main()).

What I'm trying to do is create a vector of already intialized objects so that I can use a conditional statement of every single element to properly layer my games art resources. This should also automatically fix a mild unrelated collision dectection problem too but first thing first layering.

View 9 Replies View Related

C++ :: How To Delete The Objects Within A Vector

Nov 10, 2013

here's the problem. I want to delete the objects within a vector, although I'm not sure whether I should clear the vector afterwards. Is it really necessary?

Code:

for (i = 0; i < allSales.size(); i++)
delete allSales[i];

allSales.clear(); //Is this step necessary?

View 5 Replies View Related

C :: How To Compile Objects In A Subdirectory

Aug 25, 2013

well the question is how to compile objects in a subdirectory?

Code:

./bo/%.o : %.c
$(CC) $(CFLAGS) <$

the command abouve will compile my objects but leave them in the same directory. However I want them in a different directory. in ./bo directory. How to achieve that ? I just realize that if i remove ./bo/ from the line it does not work..

View 3 Replies View Related

C++ :: Assignment Of Objects To Pointers

Jun 6, 2013

I am using OpenCV to read and manipulate a set of images, which I need to store in an array to work with them. Here is a snippet of the code:


#define MAX_IMAGES 8
typedef Mat* MatPtr;
int main(int argc, char** argv) {
char imageName[] = "./res/imageX.tiff";
MatPtr datacube[MAX_IMAGES];

[code].....

I have an array of pointers to Mat objects (an OpenCV class used to hold info and data about an image), which I will use to store the images. The function imread reads an image and returns a Mat object loaded with the relevant data about the image.However, this gives me a nice segfault when the assignment takes place. Of course, I can swap it with the following code, but since I'm working with big images (2048x2048 and upwards), it's really inefficient:

for(unsigned int i = 0; i < MAX_IMAGES; i++) {
imageName[11] = 49 + i;
datacube[i] = new Mat(imread(imageName, -1));
}

Is there any way to do this elegantly and without much hassle?Again, excuse my rustiness and anything completely stupid I might have said. It's been a long time since I worked with C++. Managed to circumvent the problem by using a STD vector instead of an array. I'd still like to know the answer to this riddle...

View 6 Replies View Related

C++ :: How To Use Class With Array Of Objects

Oct 12, 2014

class FlashCard {
public:
int a,b;
void PrintCard(void);
int CorrectAnswer(void);
};
void SwapFlashCard(FlashCard &a,FlashCard &b)

[Code]....

Why does Xode warn me that Type'FlashCard'does not provide a subscript operator on line 22,23,29 and 30?

View 7 Replies View Related

C++ :: Access Objects From Another Thread

Jun 25, 2013

I have the following code below. I am getting a memory access violation when accessing cmd->query_string in the loop function. The loop() function is running in another thread. The cmd object appears to be destroyed after calling the send_command function. How do I create an object on the heap and access the query_string.

std::list<my_command_message_que*> my_command_que;
void loop(){
if(my_command_que.size() > 0){
my_command_message_que * cmd = my_command_que.front();
std::cout << cmd->query_string;

[Code] ....

View 2 Replies View Related

C++ :: Bad Value Result From Operator Using Objects

Jul 24, 2013

I keep getting an undesired value in this code. I've tried several methods, but none are giving me the correct answer. The out put is always zero, when in this case it should be 10!!

Here's the object structure:

template<class T, class _b>
struct quantity {
private: T value;
public:
explicit quantity(T val): value(val) {};
T getValue() { return value; };

[Code] .....

Here's the operation:

int main() {
quantity<int, bool> m(20);
quantity<float, bool> m_f(10);
quantity<double, bool> m_d(NULL);

m_d = m_f;

[Code] .....

Why does it seem that the assignment operator is the harder operator to overload? Maybe it's just my luck, but I seem to always run into issues whenever I work with it. I hardly ever experience errors when overloading any of the other operators.

View 6 Replies View Related

C++ :: How To Store Objects To Program

Nov 14, 2013

I've started programming my little program called vLibrary (program I want to make for the library in my city) and after I m done with console application I will try to implement wxWidgets.My program will be able to add new users to the system, new books and new librarians.

Now, I m confused what data types to use and how to store objects (newly created users, books etc) to my program so later on they can log in the system etc. Logic of the program is completely clear to me but I m not sure how to make array of objects and store them in memory or in a certain file, how to store password and make some kind of encryption etc.which data structure from STL should I use and how.

View 2 Replies View Related

C++ :: Accessing Objects Within Another Object

Feb 8, 2014

I'm currently trying to access a variable contained within a base object from another completely different object and I continually get error messages. I'll attempt to put up the important code since it's contained within fairly large classes. From the Base .cpp file. ObjectPosition:

void ObjectPosition::init(float x,float y, float speed, int boundx, int boundy, float hit, int lives, bool live) {
ObjectPosition::x = x;
ObjectPosition::y = y;
ObjectPosition::speed = speed;
ObjectPosition::boundx = boundx;
ObjectPosition::boundy = boundy;
ObjectPosition::hit = hit;
ObjectPosition::lives = lives;
ObjectPosition::live = live;
}

This is the initialization function for the BaseObject. All objects are inheriting these variables which are Protected within the ObjectPosition class.Then they are initialized within the Pig class thus wise:

void Pig::binit(float sx,float sy, ALLEGRO_BITMAP *simage) {
//Sets all ObjectPosition Variables
ObjectPosition::init(800,900,10,80,40,40,10,true);
smaxFrame = 4;
scurFrame = 0;

[code]...

I tried to initialize the boundx through the pig via pinitx but I get errors and I can't access through the pig to the object position to the boundx.

View 10 Replies View Related

C++ :: Looping Through Template Objects In Map

Dec 30, 2014

How to get this code working

template <typename T>
class Dummy {
// Implementation
};
template <typename T>
class SomeClass

[Code] ......

View 4 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved