The Rise of Machines: Real World Applications of AI
Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.
GDB je debugger pre C, C++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada a Modula-2.
CentOS je založený na RHEL (Red Hat Enterprise Linux). Jedným z hlavných cieľov RHEL je byť stabilným serverovým operačným systémom, čo znamená, že novšie verzie softvérových balíkov nie sú vždy dostupné.
V čase písania tohto článku ponúka CentOS 6 GDB v7.2. Tím GDB však nedávno vydal kód pre verziu 7.91.
Oficiálne sa odporúča spustiť inú linuxovú distribúciu, aby ste mohli používať novšiu verziu GDB. Toto nie je vždy ideálne. Našťastie je možné nainštalovať novšie verzie GDB na CentOS 6. Keďže GDB je skôr ladiacim nástrojom než základným komponentom systému, môžete celkom bezpečne použiť novšiu verziu.
Tento článok vysvetľuje, ako nainštalovať podporované aj nepodporované verzie GDB na CentOS 6.
Vysvetlím tiež, ako nastaviť GDB, aby vám poskytla ľahšie čitateľné informácie o ladení pri používaní štandardnej knižnice C++ (ako reťazec) a štandardnej knižnice šablón (ako vektor). Táto funkcia sa nazýva pekná tlač.
Prihláste sa do svojho VPS. Môžete to urobiť kliknutím na „Zobraziť konzolu“ v ovládacom paneli Vultr alebo pomocou klienta SSH.
(a) Prihláste sa ako root.
(b) Vytvorte si vlastný používateľský účet. Nastavte heslo.
adduser <username>
passwd <username>
(c) Poskytnite používateľovi sudo prístup.
visudo
After the line "root ALL=(ALL) ALL"
Add the line "<username> ALL=(ALL) ALL"
--- If you aren't familiar with vi, go to the line "root ALL=(ALL) ALL".
--- Hit "o" to create a new line after that line and enter insert mode.
--- Type "<username> ALL=(ALL) ALL".
--- Hit ESC.
--- Type "ZZ" to save.
(d) Odhláste sa ako root a potom sa znova prihláste pomocou svojho používateľského účtu. Je oveľa bezpečnejšie sa v skutočnosti nikdy neprihlásiť ako root. Použitie sudo je lepší postup.
Nainštalujte GDB.
sudo yum install gdb
Skontrolujte nainštalovanú verziu a pozrite si jej umiestnenie.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Nainštalujte kompilátor jazyka C, napríklad GCC. Kompilátor C++ nie je potrebný na zostavenie GDB zo zdroja, ale je potrebný na demonštráciu peknej funkcie tlače GDB. Najnovšiu verziu GCC si môžete zostaviť zo zdroja vykonaním krokov v článku Ako nainštalovať GCC na CentOS 6 . Alebo si môžete nainštalovať CentOS 6 oficiálne podporovanú verziu GCC spustením:
sudo yum install gcc gcc-c++
Nainštalujte ďalšie potrebné balíky.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Rozhodnite sa, ktorú verziu GDB chcete zostaviť zo zdroja. Navštívte stránku FTP GDB a pozrite si verzie, ktoré sú k dispozícii na stiahnutie.
Získajte zdroj verzie GDB, ktorú chcete. Zvyšok tohto článku je napísaný pre verziu 7.9.1 a stiahne zdroje do ~/sourceInstallations/gdb-7.9.1/– budete musieť nahradiť správne číslo verzie za novšie verzie.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz .
tar -zxvf gdb-7.9.1.tar.gz
Vybudujte GDB. Ak sa to dokončí správne, posledný riadok, ktorý uvidíte, bude znamenať „úspech“. Je normálne, že niektoré chybne vyzerajúce správy sa rýchlo posúvajú. Tieto je bezpečné ignorovať.
mkdir gdb-7.9.1.build
cd gdb-7.9.1.build
../gdb-7.9.1/configure --with-python=yes && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- The parameter "--with-python=yes" is necessary for the pretty printing feature
Nainštalujte C++ peknú tlač.
cd ~/
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python gdb_printers
Create a file ~/.gdbinit of:
python
import sys
sys.path.insert(0, '/home/<yourUserName>/gdb_printers/')
from libstdcxx.v6.printers import register_libstdcxx_printers
end
--- One way to create this file is to run "vi ~/.gdbinit", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
Skontrolujte nainštalovanú verziu a jej umiestnenie.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Voliteľne spustite GDB a uvidíte peknú tlač.
mkdir ~/gdbExample
cd ~/gdbExample
Create a file gdbExample.cpp of:
#include <string>
#include <vector>
using namespace std;
int main() {
string foo = "bar";
vector<string> vec;
vec.push_back("foo");
vec.push_back("bar");
vec.push_back("foobar");
}
--- One way to create this file is to run "vi gdbExample.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
g++ -ggdb gdbExample.cpp -o gdbExample
Start GDB traditionally, by running "gdb ./gdbExample". Or, start GDB by using its terminal user interface (basically a text mode GUI), by running "gdb --tui ./gdbExample".
Enter "break main" to set a breakpoint at the beginning of function main() -- and it will say:
Breakpoint 1 at 0x<someAddress>: file gdbExample.cpp, line 6.
Enter "run" to start the program, which will immediately hit the breakpoint you just set -- and it will say:
Starting program: /home/<yourUserName>/gdbExample/gdbExample
Breakpoint 1, main () at gdbExample.cpp:6
6 string foo = "bar";
Enter "next" and hit enter four times, and gdb will move up to just before executing:
10 vec.push_back("foobar");
Enter "print foo" and gdb will show:
$1 = "bar"
Enter "print vec" and gdb will show:
$2 = std::vector of length 2, capacity 2 = {"foo", "bar"}
--- Remember, line 10 hasn't executed yet to add "foobar" to the vector
Enter "quit" and "y" to quit anyway.
Voliteľne získajte miesto na pevnom disku. Váš ~/sourceInstallationsadresár bude zaberať približne 386 MB. Pravdepodobne je múdre ponechať si adresáre, pretože existujú voliteľné možnosti konfigurácie, ktoré možno budete musieť niekedy v budúcnosti použiť, a bolo by rýchlejšie mať veľa hotových. Proces zostavovania tiež vytvára protokoly, ktoré môžete neskôr skontrolovať a pracovať z nich, ak sa niečo pokazí. Ale po spustení sudo make installskôr vaša nainštalovaná GDB nezávisí na ničom v tomto adresári a priestor môže byť drahý, takže môžete urobiť tento krok a získať späť približne 386 MB. DÔLEŽITÉ: nemažte ~/gdb_printers/adresár! Obsah tohto adresára sa načíta pri každom spustení GDB. NEBOLI skompilované do samotnej GDB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.
Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.
Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.
Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.
Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…
Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.
Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.
Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.
V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.
Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac