Mašinų augimas: AI pritaikymas realiame pasaulyje
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
GDB yra C, C++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada ir Modula-2 derinimo priemonė.
CentOS yra pagrįsta RHEL („Red Hat Enterprise Linux“). Vienas iš pagrindinių RHEL tikslų – būti stabilia serverio operacine sistema, o tai reiškia, kad naujesnės programinės įrangos paketų versijos ne visada pasiekiamos.
Rašymo metu CentOS 6 siūlo GDB v7.2. Tačiau GDB komanda neseniai išleido kodą v7.91.
Oficialiai siūloma paleisti kitą Linux distro, kad būtų galima naudoti naujesnę GDB versiją. Tai ne visada idealu. Laimei, CentOS 6 galima įdiegti naujesnes GDB versijas. Kadangi GDB yra derinimo priemonė, o ne pagrindinis sistemos komponentas, galite naudoti naujesnę versiją.
Šiame straipsnyje paaiškinama, kaip CentOS 6 įdiegti palaikomas ir nepalaikomas GDB versijas.
Taip pat paaiškinsiu, kaip nustatyti GDB, kad suteiktumėte lengviau skaitomą derinimo informaciją, kai naudojate C++ standartinę biblioteką (pvz., eilutę) ir standartinę šablonų biblioteką (pvz., vektorių). Ši funkcija vadinama gražiu spausdinimu.
Prisijunkite prie savo VPS. Tai galima padaryti spustelėjus „View Console“ „Vultr“ valdymo skydelyje arba naudojant SSH klientą.
a) Prisijunkite kaip root.
(b) Sukurkite savo vartotojo paskyrą. Nustatykite slaptažodį.
adduser <username>
passwd <username>
(c) Suteikite vartotojui sudo prieigą.
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) Atsijunkite kaip root, tada vėl prisijunkite naudodami savo vartotojo paskyrą. Daug saugiau niekada neprisijungti kaip root. Sudo naudojimas yra geresnė praktika.
Įdiekite GDB.
sudo yum install gdb
Patikrinkite įdiegtą versiją ir jos vietą.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Įdiekite C kompiliatorių, pvz., GCC. C++ kompiliatorius nereikalingas norint sukurti GDB iš šaltinio, tačiau jis reikalingas norint parodyti gražią GDB spausdinimo funkciją. Galite sukurti naujesnę GCC versiją iš šaltinio, atlikdami straipsnyje Kaip įdiegti GCC CentOS 6 nurodytus veiksmus . Arba galite įdiegti CentOS 6 oficialiai palaikomą GCC versiją paleisdami:
sudo yum install gcc gcc-c++
Įdiekite papildomai reikalingus paketus.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Nuspręskite, kurią GDB versiją norite sukurti iš šaltinio. Apsilankykite GDB FTP svetainėje, kad pamatytumėte versijas, kurias galima atsisiųsti.
Gaukite norimos GDB versijos šaltinį. Likusi šio straipsnio dalis skirta 7.9.1 versijos versijai, o šaltiniai bus atsisiunčiami į jį ~/sourceInstallations/gdb-7.9.1/– naujesnėmis versijomis turėsite pakeisti tinkamą versijos numerį.
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
Sukurkite GDB. Jei tai bus atlikta teisingai, paskutinėje eilutėje, kurią pamatysite, bus nurodyta „sėkmė“. Normalu, kad kai kurie klaidos pranešimai greitai slenka. Tai saugu ignoruoti.
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
Įdiekite C++ pretty printing.
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.
Patikrinkite įdiegtą versiją ir jos vietą.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Pasirinktinai paleiskite GDB ir pamatysite gražų spausdinimą.
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.
Pasirinktinai atlaisvinkite vietos standžiajame diske. Jūsų ~/sourceInstallationskatalogas užims apie 386 MB. Tikriausiai būtų protinga išsaugoti katalogus, nes yra pasirenkamų konfigūravimo parinkčių, kurias gali tekti naudoti kada nors ateityje, ir būtų greičiau, jei daug ką jau padarytumėte. Be to, kūrimo procesas sukuria žurnalus, kuriuos vėliau galėsite patikrinti ir dirbti, jei kas nors negerai. Tačiau paleidus sudo make installanksčiau, jūsų įdiegtas GDB nepriklauso nuo nieko šiame kataloge, o vietos gali būti labai daug, todėl galite atlikti šį veiksmą ir susigrąžinti maždaug 386 MB. SVARBU: neištrinkite ~/gdb_printers/katalogo! Šio katalogo turinys įkeliamas kiekvieną kartą paleidus GDB. Jie NĖRA sukompiliuoti į patį GDB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį