Masinate tõus: AI tegelikud rakendused
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
GDB on siluja C, C++, Objective-C, Pascali, Fortrani, Go, D, OpenCL C, Ada ja Modula-2 jaoks.
CentOS põhineb RHEL-il (Red Hat Enterprise Linux). RHELi üks peamisi eesmärke on olla stabiilne serveri operatsioonisüsteem, mis tähendab, et tarkvarapakettide uuemad versioonid pole alati saadaval.
Kirjutamise ajal pakub CentOS 6 GDB versiooni 7.2. GDB meeskond avaldas aga hiljuti koodi versioonile 7.91.
GDB uuema versiooni kasutamiseks on ametlikult soovitatav käivitada mõni muu Linuxi distributsioon. See ei ole alati ideaalne. Õnneks on CentOS 6-le võimalik installida GDB uuemad versioonid. Kuna GDB on pigem silur kui süsteemi põhikomponent, on uuema versiooni kasutamine üsna turvaline.
See artikkel selgitab, kuidas installida CentOS 6 nii toetatud kui ka toetamata GDB versioone.
Samuti selgitan, kuidas seadistada GDB-d, et anda teile hõlpsamini loetav silumisteave C++ standardteegi (nagu string) ja standardmalliteegi (nagu vektor) kasutamisel. Seda funktsiooni nimetatakse ilusaks printimiseks.
Logige sisse oma VPS-i. Seda saab teha, klõpsates Vultri juhtpaneelil nuppu "View Console" või SSH-kliendiga.
(a) Logige sisse administraatorina.
(b) Looge oma kasutajakonto. Seadke parool.
adduser <username>
passwd <username>
(c) Andke kasutajale sudo juurdepääs.
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) Logige välja administraatorina, seejärel logige oma kasutajakontoga uuesti sisse. Palju turvalisem on mitte kunagi tegelikult root kasutajana sisse logida. Sudo kasutamine on parem tava.
Installige GDB.
sudo yum install gdb
Kontrollige installitud versiooni ja vaadake selle asukohta.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Installige C-kompilaator, näiteks GCC. C++ kompilaatorit ei ole vaja GDB allikast koostamiseks, kuid seda on vaja GDB ilusa printimisfunktsiooni demonstreerimiseks. Saate luua allikast GCC uuema versiooni, järgides artiklis GCC installimine CentOS 6- sse toodud samme . Või saate installida CentOS 6 ametlikult toetatud GCC versiooni, käivitades:
sudo yum install gcc gcc-c++
Installige täiendavalt vajalikud paketid.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Otsustage, millist GDB versiooni soovite allikast luua. Allalaadimiseks saadaolevate versioonide vaatamiseks külastage GDB FTP saiti .
Hankige soovitud GDB versiooni allikas. Ülejäänud osa sellest artiklist on kirjutatud versioonile 7.9.1 ja see laadib allikad alla ~/sourceInstallations/gdb-7.9.1/– uuemate versioonide vastu peate asendama õige versiooninumbri.
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
Ehitage GDB. Kui see on õigesti lõpetatud, on viimasel real, mida näete, "edu". On normaalne, et mõned veanäitajad kiiresti mööda kerivad. Neid on ohutu ignoreerida.
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
Installige C++ ilus printimine.
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.
Kontrollige installitud versiooni ja selle asukohta.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Soovi korral käivitage GDB ja vaadake ilusat printimist.
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.
Soovi korral saate kõvakettaruumi tagasi võtta. Teie ~/sourceInstallationskataloog võtab enda alla umbes 386 MB. Tõenäoliselt on mõistlik kataloogid alles jätta, kuna on valikulisi seadistusvõimalusi, mida võib tekkida vajadus tulevikus kasutada, ja kiirem oleks, kui palju on juba tehtud. Samuti loob ehitusprotsess logisid, mida saate hiljem kontrollida ja kasutada, kui midagi läheb valesti. Kuid pärast sudo make installvarasemat käivitamist ei sõltu teie installitud GDB mitte millestki selles kataloogis ja ruumi võib olla liiga palju, nii et saate seda sammu teha ja umbes 386 MB tagasi nõuda. TÄHTIS: ärge kustutage ~/gdb_printers/kataloogi! Selle kataloogi sisu laaditakse iga kord, kui käivitate GDB. Neid EI kompileeritud GDB-sse endasse.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.
Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.
Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.
Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…
Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.
Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.
Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.
Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.
Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit