|
Thank you I got some idea
|
|
|
|
|
Man! That website is straight out of 1995!
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
And what? Does't the code work in VS2017?
|
|
|
|
|
Is it your website? I didn't mean any offense. I'm just exclaiming.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
No!
But I know this guy and I trust him.
Besides, I used some code example from his site.
PS: just read something about him! There is quite enough info about him in the web.
|
|
|
|
|
|
|
Can anyone suggest me how to start learning programming by myself? Since I am a newbie and hardly have any knowledge of programming.
Your kind reply will be very helpful.
Thanks
|
|
|
|
|
Tutorials, books, programming, programming, programming (get a decent, updated compiler, e.g. g++ ).
You might easily find many many resources freely available on the web, Google is your friend.
|
|
|
|
|
I have CListCtrl and updating this control with love data using OnTimer(). But i want to select some rows and do furthur actions. But when i select the row, the selected color appears,but moment it updating using OnTimer(), the selected row color become normal. How can i keep the selection row visible always?
Anu
|
|
|
|
|
Store the selected item index (or, maybe, item data) before the updating the list.
After update select the stored item.
|
|
|
|
|
Hi All,
I'm trying to create a C++ DLL using the WinInet API, but for some odd reason, I get no errors during compiling but get external link errors regarding variables within my class. Any idea how I can resolve this? Visual Studio 2015.
----------------------------------------header test.h -------------------------------------------
// #include "stdafx.h"
using namespace std;
// #include <Winineti.h>
#include <windows.h>
#include <strsafe.h>
#include <wininet.h>
#include <math.h>
#include <cstring>
#include <WinInet.h>
//#include <string>
#pragma comment(lib, "wininet.lib")
#pragma comment(lib, "user32.lib")
#define FTP_FUNCTIONS_BUFFER_SIZE MAX_PATH+8
namespace Win32_FTP
{
class FTP_Win32_ClientV1
{
private:
public:
static LPCWSTR sFileSearch;
static char * sIpAddress;
static LPCWSTR sUsername;
static LPCWSTR sPassword;
static string sRemoteDir;
static string sLocalDir;
static string sFilename;
static DWORD dwError;
static HINTERNET hFTPConnect;
static HINTERNET hFind;
static HINTERNET hConnect;
static HANDLE hFile;
static WIN32_FIND_DATA FindFileData;
static string strTemp;
static __declspec(dllexport) void Test1();
static __declspec(dllexport) void FtpCloseConnection();
};
}
----------------------------------------source test.cpp -------------------------------------------
//using namespace std;
#include <iostream>
#include "test.h"
// using namespace std;
namespace Win32_FTP
{
void FTP_Win32_Client::Test1()
{
cout << "This is a test from Cplus to Csharp DLL";
}
void FTP_Win32_Client::FtpCloseConnection()
{
InternetCloseHandle(FTP_Win32_Client::hFind);
InternetCloseHandle(FTP_Win32_Client::hFTPConnect);
InternetCloseHandle(FTP_Win32_Client::hConnect);
}
}
***************************LINK ERRORS ************************
Test.obj : error LNK2001: unresolved external symbol "public: static void * Win32_FTP::FTP_Win32_Client::hFTPConnect" (?hFTPConnect@FTP_Win32_Client@Win32_FTP@@2PAXA)
Test.obj : error LNK2001: unresolved external symbol "public: static void * Win32_FTP::FTP_Win32_Client::hFind" (?hFind@FTP_Win32_Client@Win32_FTP@@2PAXA)
Test.obj : error LNK2001: unresolved external symbol "public: static void * Win32_FTP::FTP_Win32_Client::hConnect" (?hConnect@FTP_Win32_Client@Win32_FTP@@2PAXA)
|
|
|
|
|
|
Class static variables, like Win32_FTP::FTP_Win32_Client::hFTPConnect must be also defined in one source file. That is you have to write
HINTERNET Win32_FTP::FTP_Win32_Client::hFTPConnect; (and so on...) in your test.cpp source file.
An altrernative, available only with C++ 17 compliant compilers is to declare such variables inline inside the header file (see, for instance INLINE VARIABLES[^]).
|
|
|
|
|
Why are you creating a class and then making everything static?
|
|
|
|
|
Definitely remove the line: using namespace std;
My advice: NEVER do that.
|
|
|
|
|
There is Base class A which has child's B, C, D, ... Z.
I need to add some methods to Z as virtual ones so that they will be overridden in Z child classes Z1, Z2, .. Zn.
Is it possible, how can I do it.
Note: I cannot add to base class A.
|
|
|
|
|
Start by telling us why you need to add the virtual methods. And why you can't add to the base class A.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Well I have over 50 classes there. All of them have base class the same.
Those functions (about 20 functions) are needed only for my one 5 level class (Class A5 : public A4) and two 6 level child classes ( Class A61 : public A5 and Class A62 : public A5).
Reason because I want to make one handler class which will use A5 class virtual functions and will handle A61 and A62.
|
|
|
|
|
Quote: I need to add some methods to Z as virtual ones so that they will be overridden in Z child classes Z1, Z2, .. Zn.
Is it possible, how can I do it. Yes it is possible. Just do it.
|
|
|
|
|
You might not need to make them virtual.
|
|
|
|
|
Just learning OpenMP.
So what is , if any , the difference between "processor" / CPU or "thread"?
They seems to be used interchangeably.
And do I have to specify # of processors / threads to be actually used by the app?
I suppose I can also select which part of code will be "multi x", but that is irrelevant for now.
int iCPU = 0;
iCPU = omp_get_num_procs();
cout << "# of CPU's " << dec << +iCPU << endl;
omp_set_num_threads(iCPU);
|
|
|
|
|
Initially for the application will set the number of threads = nofCores, as 1 thread per core will get you the best performance.
From there your performance goes down for both other options
Sometime you don't want all the cores doing stuff so you control it and you will run across things like
#pragma omp parallel num_threads(3)
{
... some code for 3 cores
}
Then you get the other option multiple threads per core ... that involves context switching so again performance loss.
So it starts that way on initial easy samples but it won't stay that way for very long
In vino veritas
modified 9-Feb-19 4:08am.
|
|
|
|
|
Processors or CPUs mean the same thing. They are the hardware devices (or parts of a chip) that execute the instructions in a program. Processes or Threads, are activities that can run inside a processor . A thread is simply a discrete set of instructions that are executed by the CPU. Some applications run quite happily with a single thread. Others require multiple threads in order to perform different parts of the program in parallel. However, using multiple threads is not always the most efficient way to run an application, since a single CPU (or 'core' in a modern chip) can only run one thread at a time. So if you have a four-core chip you can run four threads in parallel with reasonable efficiency. With a single core it would probably not be very efficient owing to operating system overhead to manage switching between threads. Unless you really need threads, and fully understand the concept and practicalities of them, they are best avoided.
|
|
|
|
|
So the example I used retrieves # of processors / CPU hardware and sets the # of threads per each processor / CPU equal to # of processors / CPU hardware.
Does not make much sense.
The way I read the example - it really does not tell me how many processors / CPU hardware will be utilized.
Perhaps I need to read the OpenMP doc.
|
|
|
|