Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Take A QuizChallenge yourself and boost your learning! Start the quiz now to earn credits.
Take A QuizUnlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Take A QuizGeneral Tech Learning Aids/Tools 2 years ago
Posted on 16 Aug 2022, this text provides information on Learning Aids/Tools related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
General Tech 10 Answers
General Tech 7 Answers
General Tech 3 Answers
General Tech 9 Answers
Is Foldable Smartphone Technology the Future or Just a Trend?
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.
manpreet
Best Answer
2 years ago
Let's say I have retrieved some
C/C++
original and unmodified distribution libraries that were specifically designed for theUnix-POSIX
based environments where the original developers who designed their code wrote them specifically for their environments - systems and these libraries originally are not portable to modernWindows
systems.What I would like to be able to do is to at the least build the needed static or dynamic libraries to be able to link them against my own Visual Studio projects.
I know that with
Mingw(clang)
you only need theMSVC
run-time libraries as it doesn't have any need of thePOSIX
dll dependencies as it uses theWin32
libraries directly. However, it doesn't have all of theUnix
environment features thatCygwin(gcc/g++)
does and for anyC/C++
code that relies on nativePOSIX
functionality such asfork()
,mmap()
, etc. would have to be re-implemented into theWin32
equivalents for proper compilation, linking, and running of the application.With
Cygwin
I'm more exposed to nearly all of theUnix-POSIX
features with a little higher learning curve and to integrate these libraries that are built byCygwin's
compiler(s), they would rely oncygwin1.dll
to be able to run on a Windows machine.A Primary Example:
The current libraries that I'm trying to build to work with
Visual Studio
areGNU's:
GMP
,MPIR
,MPFR
,MPFRC++
.So far I have successfully been able to build
MPIR
inVisual Studio 2017
with the aid ofPython
andWindows
version ofYasm
. However, when trying to buildMPFR
it requires the dependency ofGMP
. So now I have to buildGMP
.I could use
Mingw
to buildGMP
which may be in some ways a little easier, but by usingGygwin
and buildingGMP
through theUnix/Linux/POSIX
environment I would be exposing myself to the functionality ofUnix/POSIX
systems.Note - I'm primarily familiar with
Windows
environments and until recently have never worked with or on anyUnix
basedOS
. So there is a bit of a learning curve for me. I'm doing all the research and reading that I can on my own which is not a problem. It provides good experience with every bit of trial and error.What I would like to know is when working on a
Windows
machine; what would be the preferable method between the two case scenarios to buildPOSIX
designed libraries to be able to link properly intoMSVC
Window's
based applications? Another words, I would like to efficiently convertPOSIX
specific libraries to be able to work on my current platform or machine. Notice that I did not say that I wanted to "rewrite" the libraries to make them portable to any arbitrary environment. In this specific case I only need them to run on myWindows
environment. Or any other appropriate method. I will be using someC
and someC++
libraries to be linked into myMSVC
c++17
project(s). (I may also have some of the terminology wrong in some of my above statements or assumptions as I'm not familiar withUnix-POSIX
environments).