- Видео 91
- Просмотров 560 761
Tommy Ngo (SW CODING CHANNEL)
США
Добавлен 17 июн 2017
This is the software programming channel. You will learn anything from C++, C#, Java, Perl, etc. when the tutorials become available to you. I also reserved the right to create other videos related to operating systems, hardware, etc. and I hope that you will find it useful.
Please subscribe today and I will do my best to spend the time to create great videos.
Please subscribe today and I will do my best to spend the time to create great videos.
Using C++ with PostgreSQL | Software Coding Tutorials Channel
Today, I will show you how to connect to PostgreSQL database using
C++ (TDM gcc/g++) to query, insert, delete, and update data. You will need to watch my previous video on how to install PostgreSQL if you have not done so. Please remember to press like and subscribe to support me. Thank you.
#postgresql
#cpp
#sql
C++ (TDM gcc/g++) to query, insert, delete, and update data. You will need to watch my previous video on how to install PostgreSQL if you have not done so. Please remember to press like and subscribe to support me. Thank you.
#postgresql
#cpp
#sql
Просмотров: 933
Видео
How to install PostgreSQL on Windows | Software Coding Tutorials Channel
Просмотров 1485 месяцев назад
Today, I will show you how to install PostgreSQL and configure on Windows. Then, I will show you how access the database, tables, etc. using pgAdmin UI and psql from Windows Command Line. #postgresql #pgadmin #softwarecodingtutorialschannel
How to get Min and Max Values from columns in SQL Table | Software Coding Tutorials
Просмотров 30610 месяцев назад
Today, I will show you a quick tutorial to get the minimum and maximum values from a number of columns in SQL Table. #minvalue #maxvalue #sql #softwarecodingtutorials
How to install GitBucket and use it for Source/Version Control | Software Coding Tutorials Channel
Просмотров 55610 месяцев назад
GitBucket is an easily installable Git platform written with Scala. It has a GitHub-like user interface, with features like Git repository hosting via HTTP and SSH, repository viewer, issues, wiki and plugin system. If you’re familiar with Jira BitBucket or Microsoft Team Foundation Server (TFS), this is similar. The biggest difference is that this is open-source, and it’s free. I will give you...
How to install CodeLLDB and Debug C++ Program within VS Code | Software Coding Tutorials Channel
Просмотров 2,3 тыс.10 месяцев назад
Today, I will walk you through the steps of installing CodeLLDB and showing you how to debug a C program within VS Code. This is different than using GDB which was part of my previous tutorial. #codelldb #vscode #softwarecodingtutorials
How to install RabbitMQ in Ubuntu 22.04 and using it with Python?
Просмотров 46111 месяцев назад
Today, I will show you how to install RabbitMQ in Ubuntu 22.04 and using it with the Python and the Pika library to communicate or receive messages. I hope you enjoy this tutorial, and be sure to subscribe if you like these videos. #rabbitmq #ubuntu22.04 #python #softwarecodingtutorials
How to use Clang to build DLL (Dynamic Link Library) and using it in C++ under Windows?
Просмотров 1,5 тыс.Год назад
In this tutorial, I will walk you to the steps to build a DLL using Clang, and then turn around and using it in a written C application. In addition, I will give you a comparison of the steps between the gcc/g with clang . If you like this tutorial, please remember to share, press like and subscribe to help the search algorithm. #clang #gcc #dll #windows
Using DLL generated by TDM-GCC or MingW in applications written in Visual C++
Просмотров 312Год назад
In this tutorial, I will show you how to create a DLL using TDM GCC or MingW and then use it in applications written in Visual C . You will need TDM GCC version 10.3.0 which is a 64-bit C compiler that can run under Windows 11. In addition, you will need Visual Studio 2022 or Visual Studio 2022 Community Edition which includes Visual C . What will be handy is also Visual Studio Code which allow...
How not to use loops in C++? | Software Coding Tutorials Channel
Просмотров 180Год назад
In certain situations, you may not need to use loops (e.g. for, while) in C . You can use functions like (find, find_if, binary_search, etc.) in the standard "algorithm" library to achieve this. ln this tutorial, I will demonstrate to you how to use these functions. As always, please remember to press subscribe and like, and share if you like this video. #noloops #softwarecodingtutorials #cpp
Converting CSV to JSON using C++ | Software Coding Tutorials Channel
Просмотров 658Год назад
Today, I will show you how to convert CSV to JSON using C . CSV is a comma-separated file, and JSON is a language-independent data format. #c #json2csv #softwarecodingtutorials
How to debug C++ Programs using GDB (GNU Debugger) in Linux
Просмотров 17 тыс.Год назад
Today, I will introduce GDB and how you can debug your C in Linux. GDB is a GNU Debugger and comes with the installation of gcc/g in operating systems such as Linux, MacOS, and Windows. For this tutorial, I will demonstrate under Linux. #gdb #cpp #softwarecodingtutorials
Creating a VB6 App which uses C++ DLL (Compiled with gcc) in Windows 11
Просмотров 1,9 тыс.2 года назад
Today, I will show you how to make a Visual Basic 6.0 (Win32 App) that uses a C DLL under Windows 11. The takeaway from this video is to show you the interoperability between two programming languages (VB6 and C ). As you may have already known, Microsoft is known to use the COM (Component Object Model) which allows languages to be "conversed" with one another. You will need a TDM-gcc compiler ...
Installing Linux Distros (e.g. Debian) with WSL in Windows 11
Просмотров 6 тыс.2 года назад
Today, I will be walking you the steps to install your favorite distro (e.g. Debian) on Windows 11. Your favorite Linux distro will run side-by-side with Wndows. Of course, this can be installed with Windows 10, but I like to demonstrated on the latest Microsoft OS. Please enjoy this short tutorial. #wsl #linuxdistros #softwarecodingtutorials
Creating Static Library Using MingW | Software Coding Tutorials Channel
Просмотров 4,1 тыс.2 года назад
In today's tutorial, I will show you how to create a static library file using MingW which is a GNU GCC compiler under Windows. This is different than creating a dynamic link library file. Note that static library are good for small projects, and whereas the dynamic libraries are good for large projects. #mingw #softwarecodingtutorials #gcc
C++ Bitset Class | Software Coding Tutorials Channel
Просмотров 2,9 тыс.2 года назад
Today, I will give you a tutorial on the usage of the C Bitset Class. This class will help you to manipulate bits (e.g. 0010) with ease. Hope you enjoy this great video and please remember to press like and subscribe. #bitset #cpp #softwarecodingtutorials
C++ Operator Overloading | Software Coding Tutorials Channel
Просмотров 1463 года назад
C Operator Overloading | Software Coding Tutorials Channel
Using STL built-in C++ count_if function | Software Coding Tutorials Channel
Просмотров 2853 года назад
Using STL built-in C count_if function | Software Coding Tutorials Channel
What are Properties in C# (C Sharp)? | Software Coding Tutorials Channel
Просмотров 1583 года назад
What are Properties in C# (C Sharp)? | Software Coding Tutorials Channel
Creating C# / WinForm Application in Windows 11 | Software Coding Tutorials Channel
Просмотров 2 тыс.3 года назад
Creating C# / WinForm Application in Windows 11 | Software Coding Tutorials Channel
Using C++ Standard Pair and Make_Pair | Software Coding Tutorials Channel
Просмотров 1,7 тыс.3 года назад
Using C Standard Pair and Make_Pair | Software Coding Tutorials Channel
Test Driving Windows 11 Leaked | Reviewing Windows 11 New Features!
Просмотров 1053 года назад
Test Driving Windows 11 Leaked | Reviewing Windows 11 New Features!
Creating the Ultimate C++ Matrix Library | Software Coding Tutorials Channel
Просмотров 1,9 тыс.3 года назад
Creating the Ultimate C Matrix Library | Software Coding Tutorials Channel
Installing TDM GCC (C++) Compiler and Using with VSCode | Software Coding Tutorials Channel
Просмотров 16 тыс.3 года назад
Installing TDM GCC (C ) Compiler and Using with VSCode | Software Coding Tutorials Channel
Creating Win32 Native C++ Applications (non-MFC) using Visual Studio 2010 in 2021.
Просмотров 4,7 тыс.3 года назад
Creating Win32 Native C Applications (non-MFC) using Visual Studio 2010 in 2021.
PS3 DUALSHOCK CONTROLLER FIX | Software Coding Tutorials Channel
Просмотров 1073 года назад
PS3 DUALSHOCK CONTROLLER FIX | Software Coding Tutorials Channel
Sony PS3 Slim Thermal Paste/Compound Replacement | Software Coding Tutorials Channel
Просмотров 9 тыс.3 года назад
Sony PS3 Slim Thermal Paste/Compound Replacement | Software Coding Tutorials Channel
React with Typescript (Debugging with Nodemon + Concurrently) | Software Coding Tutorials Channel
Просмотров 3463 года назад
React with Typescript (Debugging with Nodemon Concurrently) | Software Coding Tutorials Channel
React with JS (JavaScript) Tutorial | Software Coding Tutorials Channel
Просмотров 793 года назад
React with JS (JavaScript) Tutorial | Software Coding Tutorials Channel
C++ Auto Keyword and New Features as Part of Standard Specification 2020
Просмотров 4273 года назад
C Auto Keyword and New Features as Part of Standard Specification 2020
Create Custom Syntax Highlighting in VS Code | Programming Language | Software Coding Tutorials
Просмотров 58 тыс.3 года назад
Create Custom Syntax Highlighting in VS Code | Programming Language | Software Coding Tutorials
also in the updated tmLanguge do you have the source code
Dahlia Rest
what do i do if my dll isn't in the same folder as my program and i don't want to add it to PATH?
Under Windows, you are required to use LoadLibrary("\path\your_dll.dll"), and then use GetProcAddress() to find the address of the function that you want to use in the library. Here is an example code where the DLL is under a different directory: File test3.cpp: ----------------------- #include <windows.h> #include <iostream> // Define a function pointer type for the SaySomething function typedef void (*SaySomethingFunc)(const char*); int main() { // Load the DLL HMODULE hModule = LoadLibrary("D:\\GitRepo\\cpp_tutorials\\shared_library2\\test\\shared_lib.dll"); if (!hModule) { std::cerr << "Failed to load the DLL" << std::endl; return 1; } // Get the function pointer for the SaySomething function SaySomethingFunc SaySomething = (SaySomethingFunc)GetProcAddress(hModule, "SaySomething"); if (!SaySomething) { std::cerr << "Failed to get the function address" << std::endl; FreeLibrary(hModule); return 1; } // Call the function SaySomething("Hello from the DLL!"); // Free the DLL when done FreeLibrary(hModule); return 0; } To compile: g++ test3.cpp -o test3.exe
Bro, not everything needs to have a "patterns" block, that's a lot of extra indentation my man.
why are you coding in vim? We have IDEs
I am using SSH to connect to a docker container. It's whatever convenient to me.
@@TommyNgo-SDEV isnt it difficult and slow productivity using VIM.
Thank you so much brother, you deserve a sub! :)
Trying to use build_exe.bat with the .dll and .exe in different folders modified -L. To -L../Lib/ as build_exe.bat is in folder Build
Very nice tutorial. Thanks Mr. Tommy
Thanks. Glad that you enjoyed it!
To the point. Very Well explained. Do you have any debugger which gets into OOPS and helps find and fix bugs?
thank you for great tutorial!
Glad it was helpful!
Sir I learnt the practical way very sharply and easy way...I think you are Vietnamese "Ngo" surname. Subscribed and thank you from India.
Thanks for subbing!
i got error in last command : c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find
I think if you had created the static libraries for the previous steps, then the final step should compile without any issues. You might have mistyped something.
I was searching for this for a month, THANK YOU!
Bro, idknw you are the best teacher in this fucking spider web
I did it yesterday - Hell job! Sadist Engineers design this so you damage the machine when trying that must be GULAGs assembling those machines... with too many tricks to make it almost impossible - ... dis gusting idle temperature now down by 10 deg Celsius irreversible heart damage for me...
I think if Lenovo had a handbook of how things were assembled, then it would be easier. But like anything, don't use too much force, it will break.
These are great instructions.
Amazing Man !!! Thank you very much.
Great video. The C code would have been a little improved if you used a constant reference to the function pipecommand(), (because the flow is invoking the copy constructor). Also, I have never seen someone use the std::array, when calling low level C, so, it just seems incongruent style. perhaps use char buffer[80], to blend c and c++.
In programming, there are many ways to get to the solution. This is one of the ways, and if you prefer a different way, then do it your way. If you code it correctly, style should not interfere with functionality and speed. Thanks for watching.
@@TommyNgo-SDEV Style is two solutions to follow the same path. This is more then style, because you invoked the copy constructor, and added stack space unnecessarily. In a larger class, this would eventually run into stack problems, if you do not make constants, constant. You launched unseen code.
@@normbograham In the code that I have provided, I am not explicitly using the copy constructor. This is done by std::array class template. In many cases, the optimization is done by the compiler and Standard Template Library (STL), and so it will remove the unnecessary copies (if that is what you're worrying about). If this is a code review, I can go on for hours. Just remember that this video is more on the usage of popen().
"PromoSM" 😋
Some of you have asked for a C++ debugging tutorial using VS Code extension, I have a video created. please click on this link: ruclips.net/video/ld2NE7DO820/видео.html.
Cheers, very helpful.
-wl, --out-implib unrecognized parameter. What that problem?
The argument and upper-casing is important. Just copy this: g++ shared -o shared_lib.dll shared_lib.o -Wl,--out-implib,libshared_lib.a
@@TommyNgo-SDEV I have the same problem, I reinstalled the compiler, it didn't help. I have the most current version, but I couldn’t find a solution on the Internet. The working option is to assemble the dll in VisualStudio, but I would still like to configure it to work on VSCode.
@@Egor-sz2ez You really don't need to use Visual Studio. If you have issues with MingW, you can download TDM GCC: jmeubank.github.io/tdm-gcc/ . This should work, and VS Code should recognize it. The other option is to use Clang or LLVM. Here is a tutorial for Clang: ruclips.net/video/_xexe4yDwfQ/видео.html
I dont know if its the same problem as mine, but looks like its a something with powershell. I yried with cmd and worked
Good tutorial, worked fairly painlessly for me. Thanks a lot!
Thanks, and happy new year! Subscribe if you have not.
Any idea why if you try to add some gui objects, like wxGauge, to a Frame, it says "Impossible to create the object. Did you forget to add a sizer/parent object to turn on/off an AUI management" I have no idea what this means, very new to this, I just clicked a Frame then clicked on some objects but get this error message and can't add gui objects to the layout!
Amazing❤
that's something but definitely not everything. Polymorphism is especially useful with dynamic allocation of objects, where the actual class type is determined during run-time and you don't know the actual class type on compile time.
Wooou this is primitive, I use C++Builder and to do what you have done I only need to write one line of code and that's for showing the message box.
NPM ? So we need to know JS ? Oh no way man.
Relax. You just need to know how use npm to install the Yeoman Generator tool. You don't need to know Javascript.
@@TommyNgo-SDEV Oh okay. I am a system programming language lover. No web programming languages are installed in my machine. I found C3 as nice alternative to C. So I decided to create a syntax coloring plugin for that. That's all.
@@TommyNgo-SDEV Oh Okay. BTW, i need to install the JS echo system.
hi can u please help?
Sweet!
could you please make a video about Jump to Definition in VS Code?
How can in the same environment and setup by directly applying breakpoints in VSCode and also passing the input arguments in the code
The current video shows the classic way to debug C++ program without VS Code or any GUI/IDE. With VS Code, you can debug C++ program using CodeLLDB as an extension, but unfortunately it's not covered in this video. In addition, you have to setup a configuration in VS Code to build and debug. Once it has been configured, then you can add break points and step through your code. Also, you can use the debug console to review variables, etc. This would be a different video when I have time to create it.
I wonder why you dont use the gdb extension for C++ on VSC? I dont know which option may be better, any recomendation?
In this case, GDB is installed under Ubuntu and part of WSL, and so you can use it directly without a VS Code extension. I have not really need to install the VS Code extension since GDB is packaged with GCC compiler.
The fact that I was able to find a 2010 tutorial in 2023 is saving my butt. Thank you so much @Tommy Ngo I appreciate the use of legacy versions in the modern era.
Wonderful. I created this video 3 years ago, and it is still useful. Subscribe if you have not, and thank you.
whats the point if the tools are not pre-installed, imo I'm sticking with kali on virtualbox
Not all the tools are installed, and so it would make your VM or container a lot smaller. There are advantages that I didn't really go through. For example, you can access the Linux partition from Windows and so you don't have to start VirtualBox or VMware to launch your Linux VM. You can launch Visual Studio Code editor within Linux subsystem to modify code, etc. Additionally, there is less overhead.
I like these t410 because they have 3 usbs on one side
this is a sample shell coding under dll.
i searched for tutorial but failed, seldom talk about how to use c++ to generate a dll with vscode, then i found your video. very useful, thank u
I am glad it helps. Subscribe if you have not, and thank you.
how can i make cmd be my permanent terminal?
Sure. That is a couple of steps away. Here are the instructions: 1. From Visual Studio Code, click Ctrl + comma key to enter Settings tab. 2. Enter "Shell: Windows" in the Search Settings Bar and hit enter key. 3. Look for Terminal->Integrated->Default Profile Pull down menu. Note: That should be in the Features->Terminal section. 4. The default value might have been set to 'null'. Now, from the pull down menu, set it to 'Command Prompt'. 5. When you click on 'Terminal->New Terminal' option from Visual Studio Code, it should always default to 'cmd'. 6. Enjoy! Hope it helps. Remember to subscribe and press like.
Thank you. This is awesome video !!!
Glad it helped!
Can you share document you showed with us, I would like to copy paste thous commands into my notes. Great work !
Very good video. Love from Earth.
Thank you, that was great
Thank you very much for the tutorial. Very informative and straight to the point!. If I may ask you how did you figure how to complete the compilation and everything? I mean where did you look that up? For example I have literally spent more than 2 days but nothing at all. However, I will say that I did somehow manage to output a .dll file but never managed to link it using LLVM/Clang. I also managed to output dll file using MSVC cl.exe + link it but again I couldn't with LLVM/Clang. I've got 2 more questions hahaha. Don't mind me XD. but what were the warnings that you got when you ran the bat file to compile? Anything worth mentioning? The last question is, what was the purpose of __stdcall before __declspec(..)? I haven't seen that part when you did the same build using gcc that's why I'm asking. Is it necessary only for Clang to be able to define the dll import/export macros or has to do with something else?
The answer is that I have been programming since age 16, and more than 25 years of professional programming experience. I am not a beginner SE. Clang is everywhere in the macOS and Linux world, and I ran across this compiler a few times in my life. But like many people, I often used the GCC toolchain instead. It is just a preference of what you want to do. Like any of the tutorials, I have tried reusing source code, and this one is from a previous tutorial (C++ DLL for VB6) ruclips.net/video/DDzsX94kQ84/видео.html. The __stdcall just ensures that the functions are called correctly between modules (especially between C++ and VB6). One other comment is that I did have Visual Studio 2022 installed before this tutorial. Some of the warnings were mostly about the use of strcpy(), but I am using std::strcpy() which should be a little bit safer than the old primitive C version. Anyhow, I just want to give you an idea of how it should work, and you take this example for your own personal project. You should always define the import/export macro to properly expose the functions in the DLL for other programs to see. You can review my previous tutorials, and I have shown the usage of dumpbin to see if the DLL has been properly created.
25 years! That's crazy, you must had it at this point hahah. I can't envy you enough! I always wanted to become a programmer from my childhood days but my life circumstances were different back then and now I'm 31 and my life circumstances changed in a way that allowed me to finally get going and start learn how to become one! I truly do albeit me hitting the wall many times wanting to give up and sometimes my thoughts get to my head and start saying maybe it's late for me to catch up and then who will even think to hire me anyway with no computer degree, lack of experience, maybe already old? and this kinda stuff. Thankfully though I'm still pushing or at least I'm trying and most of such times when I get into a problem or an error and stuff I keep search for a solution and for the majority I do find one eventually. But this one by far was waaaay there and it was litterally trying to killing me literally hahaha and I was this close to just stop do the whole thing. Anyways, thank you again for you putting the video and true effort to it and teaching me how it can be done with Clang! will always be thankful to you my friend :). My sub to you is already paying off, you see? ;). PS: I didn't know that Clang is also popular in other platforms like Linux and osx!, I thought gcc what makes the majority of it! bsshhh mind blowing. I have tried GCC before but the reason why I stuck with Clang toolchain I guess is because first their integration-ready with VS and probably because since I'm 100% windows user, they use the default windows runtime libraries out of the box thus more compatibility in general with windows than others, or at least that what I've understood. @@TommyNgo-SDEV
@@aamg9586 Yes. You have a mindset of SE/programmer. Keep it up and it will lead you to some good place. It's never too late to become a programmer or developer. I am always busy with my job with different projects, etc. and so this is a sort of a way to give back to the community. When I get a chance, I will produce a video in the hope that it will help someone. Thanks for subscribing.
Keep it up too my friend. Thanks for the nice words, I will try by best :_)@@TommyNgo-SDEV
Can you make a tutorial on how to do it, if all possible, with Clang instead of gcc? To be honest, I have been trying for a while now and it seems that there're no clear way for Clang to be able to produce the same result on its own and independent from MSVC aka VIsual Studio. It is not building DLL part that is not working with Clang but the part where you have defined the preprocessor macro "BUILD_MY_DLL" and then import it like how you did with "--out,implib,libshared_lib.a" on gcc. I havent found anything that is equivalent to this part of command line in Clang. I hope what I'm saying makes sense to you 'D Thank you for the wonderful tutorial, very informative!
I think I understand your question. Correct me if I am wrong, but you wanted to create a DLL using Clang (not using g++). In addition, you want to preserve the same compilation arguments as much as possible. When I get a chance this weekend, I will make a tutorial for you, and this will be for Windows. In one condition though...please make sure to subscribe to this channel to get the latest notification.
@@TommyNgo-SDEV Thanks sir, I truly appreciate it. You can't imagine how much this's going to help me in my small project!. Okay deal! I have just did and you deserve it :D
@@TommyNgo-SDEVYes exactly. if you just could do the same as the video but using Llvm clang.
i do like the fact you have a comically small facecam in the top right corner i almost didn't see
hey how do you change from unicode to multibyte character set in visual studio code? my DLL won't build unless i do this
You should type 'Files: Encoding' in the 'Setting' option in Visual Studio Code. BTW, UTF-8 is the default encoding and is a superset of multibyte character sets. Not sure why it would not compile in your case.
Can you develop a gui using the SDK which is given by me
I am creating tutorials and not working on homework assignments. Did you created the SDK?
Wonderful video which i can learn more about dll building. But i met some issues in my testing.Could you teach me? The Environment:vscode with MinGW g++ 64bits under windows. Issue:I can use the functions which are defined out of class with compiler cl .But i failed to load my class function,though the class was declared by __declspec(dllexport). BTW, the class and the outside function are declared with extern "C". This problem confused me for a long time, i think there is a difference bewteen g++ and cl in building dll. At last, i wonder if there is a way to build dll by g++ then used by cl or not. Thanks alot fot your excellent video❤❤
Visual C++ should be able to use the DLL generated by MingW32/64. I will create a video to show you how to do this. Please make sure to subscribe to my channel so that you can watch it when the video is ready.
@@TommyNgo-SDEV Subscribed.Thanks a lot
@@李舜生-i6s Enjoy. This is the link to the new video: ruclips.net/video/xBy0rsY9ZHo/видео.html.
Thank you