Visual C++ :: Game Controlled At Runtime By External Source File
Mar 24, 2013
Is it possible to create a program like Robocode, a game controlled at runtime by an external source file in visual c ++? For example create a checkers game where there would be an external source file, read at runtime, which would play automatically, with artificial intelligence. You can? If yes, how?
My program needs to compile various source files at runtime.What is the most elegant way to compile cross platform with g++ from within my program? Is there a gcc-library I can use? I know that I could use popen() to open a Unix pipe and call g++ as command line tool. But first it isn't really cross platform and second it doesn't seem elegant to me.
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'm using Visual C++ 6.0 and I'm trying to use fstream to open and read a file that is created only during runtime. This file is written by another function running on another thread, and my program will keep trying to "open" the file until it can be opened, i.e. after it's created, then read 3 numbers from it and execute the rest of its code.
The file test.txt has the content
Code: 1 3 4
My program that polls and opens the file is as follows:
Code: ifstream fin; std::string tfile, snum1, snum2, snum3; long int num2, num3; tfile.assign(argv[1]); printf("Begin prog %s ", tfile.c_str());
[code]....
I executed the program by
Code: test_prog.exe "C: est.txt"
and waited about 3 seconds before putting the test.txt file into C:
My output was
Code: Begin prog C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt fin is open snum1 = num2 = 0 num3 = 0 End of prog
The test.txt file disappears after I refresh the C: folder.
So the values for snum1, num2 and num3 are all wrong, as if the file was not read correctly.
If I put a while fin.good() loop after printf("fin is open "); for that entire block (until printing the values of num2 and num3), then I get
Code: Begin prog C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt Cannot open file C: est.txt fin is open End of prog
How can I correctly read a file that is only created during runtime?
I have a VC++ project to create a DLL that will be used as a Plug-in in an external programm. This DLL uses some MFC functions. The initial configuration of the project was:
-Use of MFC: Use MFC in a Static Library
-Common Language Runtime support: No Common Language Runtime support
-Runtime Library: Multi-threaded Debug (/MTd)
This configuration worked fine, there were no compilation errors and the resulting DLL worked correctly.
The problem came when it was necessary to add to the DLL some functions of .NET, using the namespace System and similar. To do that, I had to change the Common Language Runtime support, to Common Language Runtime Support (/clr). Then, when I tried to compile, I got this message:
'/MTd' and '/clr' command-line options are incompatible
So I changed the Runtime Library to Multi-threaded Debug DLL (/MDd). Then I got this error message:
Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version
So I also changed the Use of MFC to Use MFC in a Shared DLL.
After this, the compilation was correct. Then logically the size of the generated DLL is smaller, but this new DLL does not work correctly, the external program in which this DLL is used crashes.
I don't know what to do to fix the problem. Maybe I need to add some other DLLs or files to the directory where the DLL is located, where the external program uses it. But I would prefer to include a single DLL file, but this seems to be incompatible with the use of .NET functionality.
While running a Doc/View SDI, is there any way to switch from text mode to rtf mode during runtime? Search reveals nothing.
Say I have an editor and I want the app to use text, I can set the ctor as follows.
Code:
CEditorDoc::CEditorDoc() { // TODO: add one-time construction code here m_bRTF = FALSE; }
But once I've done that and compiled the app, while it's running, is there a way for the user (or programmer) to change the mode back to RTF? One solution that occurred to me is to use 2 document classes, but that's a hassle.
I am building a project using Ogre3D, and I've downloaded the source code of the SDK.
For whatever reason, the program has got a bug. And I want to know what is going on within the SDK, how do I include the SDK source in Visual Studio 2010?
The project builds on Win32 platform, but not on x64.
Full error message: dllentry.obj : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
The dllentry.cpp (a DirectShow base class) compiles on both platforms. It contains the external declarations:
extern CFactoryTemplate g_Templates[]; extern int g_cTemplates; g_Templates[] is then used in two functions: __control_entrypoint(DllExport) STDAPI DllGetClassObject(__in REFCLSID rClsID, __in REFIID riid, __deref_out void **pv)
[Code]...
myClass.cpp contains the definitions for the two externals in dllentry.cpp, at top level, just after the includes:
CFactoryTemplate* g_Templates=0; int g_cTemplates=0;
myClass.cpp also compiles by itself, but the project does not build. I checked all the libraries in the project settings and all seems to be OK, the 64 bit versions are used.
What should I do to make the project build for x64 platform?
I am a novice programmer(still...) , and I am trying to build the Code Project project located at this address:
[URL] .....
The project page is titled " Remote Control PCs ".
I would like to use this program plus I wanted to practice programming using the code base. However, I don't have MFC so I thought I would just convert it to non-MFC.
For example, It seems to me that any class inherited from MFC would need to be reimplemented. I think I also need to reimplement any code that uses "stdafx.h"
I built a custom project out of the zlib library and compiled it as a Windows library with the /MT settings. Both 32 and 64 bit library files, in Release and Debug mode, are included. The ZLIB.H and ZCONF.H files are also included. For examples of single-threaded usage, see the CZLib class. For examples of multi-threaded usage, see the classes CDriveMultiThreadedCompression, CMultiThreadedCompression, and CZLib.
1)How should I go about compiling this zlib custom project?
I was created a dynamic library (Used win32 App) & compiled with no error.
Then i was created my main application (MFC) & paste the .h,.lib,.dll files from the source path(dll App Path) to destination path(Main App Path). If i used the below command in my app means the project working good.
Code: #include "Alg.h" #Progma Command(lib, "VTAlg.lib") & also paste the VTAlg.dll in my app path.
here Alg.h contains the some methods , In future i will edit the function like below for my client requirement but no function name & Arguments change. The changes made in inside function(Logically changed) only.
My client contains only .exe file + .dll file.
My requirement, So after change the method i will send only .dll file to my client
If i change my lib file name VTAlg2.lib instead of VTAlg1.lib (But Same Function name & Arg type)means how can i edit the code below
I am working on VS2008. I have two separate projects which have almost same functionality along with same file names but few are different. So I decided to use the same .cpp and .h files for both the projects. Both are Dialog based applications.
So what I did is I merged the source code changes to one by using #ifdef XXXX in all the common .cpp and header(.h) files.
I also moved the .rc file and .vcproj file to other project (As they were of different name).
The problem is with the resource.h file, as it is the file with the same name in both the project. By using #ifdef XXXX in .cpp files the compilation is working file but here in resource.h the resource is getting corrupted and the diglogs are not getting displayed.
#include <stdio.h> #include <tchar.h> #include <iostream> #include <string> #include <fstream>// enable writing to and reading from files #include <cstdlib> #include <time.h> using namespace std; class Person {
[Code] .....
Error list:
Code:
Error 1 error LNK2019: unresolved external symbol "void __cdecl saveperson(void)" (?saveperson@@YAXXZ) referenced in function _main H:Cry_DevProgrammingC++Using_class_ in_ c++Using_class_ in_ c++Using_class_ in_ c++.obj Error 2 error LNK2019: unresolved external symbol "void __cdecl displayperson(void)" (?displayperson@@YAXXZ) referenced in function _main H:Cry_DevProgrammingC++Using_class_ in_ c++Using_class_ in_ c++Using_class_ in_ c++.obj Error 3 error LNK2019: unresolved external symbol "void __cdecl editperson(void)" (?editperson@@YAXXZ) referenced in function _main H:Cry_DevProgrammingC++Using_class_ in_ c++Using_class_ in_ c++Using_class_ in_ c++.obj Error 4 error LNK1120: 3 unresolved externals H:Cry_DevProgrammingC++Using_class_ in_ c++DebugUsing_class_ in_ c++.exe 1
Following function is causing run-time assertion. I am using VC6.0 professional version. My OS is Win7.0. I am calling the function from OnDraw. OnDraw does not contain any other code other than the function call code:
Code: void CMoireUseCirclesView::UseCircle(CDC* pDC){ int x1, y1, x2, y2; x1=20; y1=100; x2=200; y2=280; int color1=0; int color2=0;
Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:WindowsSysWOW64kernel32.dll', no matching symbolic information found. Loaded 'C:WindowsSysWOW64KernelBase.dll', no matching symbolic information found. Loaded symbols for 'C:WindowsSysWOW64MFC42D.DLL'
how to change the mouse tracking icon during runtime. I wish to emulate the Microsoft Paint app behavior with respect, for example, to click on a toolbar button such as the 'Fill With Color' bucket and have the mouse pointer icon change to a little bucket. I wish to do this in an MFC SDI app.
Here's a bit of code that does nothing that I can tell, although it compiles and runs. (m_hIcon2 is a member HANDLE, IDI_FLOODFILL is an existing icon in the app resources). I have come across numerous other examples that do not work and/or will not compile using VS 2010 Win7(64).
I want to know how to list the all the symbols in the shared library(dll or .so file). I dont want commands like nm or objdump or depends.exe . I want to get the list of functions available in shared library programmatically at runtime (after calling loadlibrary/dlopen and GetProcAddress/dlsym). Is there a way to get the complete signature of functions in a shared library?
Under visual studio, this is a typical run time error,
Code: void func(int x){ x = 3; } int main() { int x; func(x); }
When x is passed to the function func, it is not initialized. But my question is that why it should be an error? On the other hand, if I change the definition of func a little bit like this,
Code: void func(int& x) { *x = 3; } int main() { int x; func(&x); }
Now in main, x is still not initialized, but this time there isn't a run time error like "the variable is being used without being initialized. Why?
run-time check failure #0 - the value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention
when i try to run my code. It has compiled fine on another computer, but it simply will not work on this one. This is the part of code where it is receiving the error. it has to do with the stoi
Code: #include <string> // for use of string #include <fstream> //for file handling #include <iostream> // for file handling #include <cstdlib> #include <iomanip> //for the setprecision used further below using namespace std; struct MasterData //struct created named 'MasterData' to hold one line from master file
I am stress testing my webservers and I need to code or port a C++ HTTP GET flood onto this C++ bot sourcecode. I believe I will need GetTickCount so I can specify the duration of the flood as well. I already have the C++ HTTP Flood .cpp and .h files but have no clue how to put it together onto this source. This will be easier to do over Teamviewer as I'm already using C++ 6.0 and have been with no issues.
I am trying to write to external file in GCC. So far I can get to this:
#include <iostream>; #include <fstream.h>; using namespace std; int stream (int argc, char* const argv[]) { ifstream in ("mcp.strings");
[Code] ....
I need to know if I am using the correct method to choose file name. And how to set a script(double) variable to print input text or choose an on/off (0|1) input to be written to a text file.
Any links to flags (i.e. pointers and how to use them).
I want to be able to make this code read those two lists from an external .txt file from my desktop for example. This will make it so I can read larger amount of words instead of having to paste them all in this script.
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(){
The program should be print the numbers 0 through 10, along with their values doubled and tripled. The data file contains the necessary variable declarations and output statements.
Example the output:
Single Double Triple 1 2 3 2 4 6 3 6 9 4 8 12
here my code tell me if correct
#include <iostream> #include <cstdlib> using namespace std; int main () { int x, double, triple;
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.