zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    Rust learning notes

    Rust

    Version 1.42.0

    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    

    version

    $ rustc -V
    rustc 1.42.0 (b8cedc004 2020-03-09)
    
    $ rustc --version 
    rustc 1.42.0 (b8cedc004 2020-03-09)
    
    
    $ rustc -h
    Usage: rustc [OPTIONS] INPUT
    
    Options:
        -h, --help          Display this message
            --cfg SPEC      Configure the compilation environment
        -L [KIND=]PATH      Add a directory to the library search path. The
                            optional KIND can be one of dependency, crate, native,
                            framework, or all (the default).
        -l [KIND=]NAME      Link the generated crate(s) to the specified native
                            library NAME. The optional KIND can be one of
                            static, framework, or dylib (the default).
            --crate-type [bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]
                            Comma separated list of types of crates
                            for the compiler to emit
            --crate-name NAME
                            Specify the name of the crate being built
            --edition 2015|2018
                            Specify which edition of the compiler to use when
                            compiling code.
            --emit [asm|llvm-bc|llvm-ir|obj|metadata|link|dep-info|mir]
                            Comma separated list of types of output for the
                            compiler to emit
            --print [crate-name|file-names|sysroot|cfg|target-list|target-cpus|target-features|relocation-models|code-models|tls-models|target-spec-json|native-static-libs]
                            Compiler information to print on stdout
        -g                  Equivalent to -C debuginfo=2
        -O                  Equivalent to -C opt-level=2
        -o FILENAME         Write output to <filename>
            --out-dir DIR   Write output to compiler-chosen filename in <dir>
            --explain OPT   Provide a detailed explanation of an error message
            --test          Build a test harness
            --target TARGET Target triple for which the code is compiled
        -W, --warn OPT      Set lint warnings
        -A, --allow OPT     Set lint allowed
        -D, --deny OPT      Set lint denied
        -F, --forbid OPT    Set lint forbidden
            --cap-lints LEVEL
                            Set the most restrictive lint level. More restrictive
                            lints are capped at this level
        -C, --codegen OPT[=VALUE]
                            Set a codegen option
        -V, --version       Print version info and exit
        -v, --verbose       Use verbose output
    
    Additional help:
        -C help             Print codegen options
        -W help             Print 'lint' options and default settings
        --help -v           Print the full set of options rustc accepts
    
    
    Current installation options:
    
    
       default host triple: x86_64-apple-darwin
         default toolchain: stable
                   profile: default
      modify PATH variable: yes
    
    1) Proceed with installation (default)
    2) Customize installation
    3) Cancel installation
    >1
    
    

      stable installed - rustc 1.42.0 (b8cedc004 2020-03-09)
    
    
    Rust is installed now. Great!
    
    To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
    environment variable. Next time you log in this will be done
    automatically.
    
    To configure your current shell run source $HOME/.cargo/env
    ➜  ~ 
    
    $ source $HOME/.cargo/env
    
    

    https://github.com/rust-lang/rust

    https://www.rust-lang.org/tools/install

    https://github.com/rust-lang/rust/blob/master/src/rustc/rustc.rs

    fn main() {
        // Pull in jemalloc when enabled.
        //
        // Note that we're pulling in a static copy of jemalloc which means that to
        // pull it in we need to actually reference its symbols for it to get
        // linked. The two crates we link to here, std and rustc_driver, are both
        // dynamic libraries. That means to pull in jemalloc we need to actually
        // reference allocation symbols one way or another (as this file is the only
        // object code in the rustc executable).
        #[cfg(feature = "jemalloc-sys")]
        {
            use std::os::raw::{c_int, c_void};
    
            #[used]
            static _F1: unsafe extern "C" fn(usize, usize) -> *mut c_void = jemalloc_sys::calloc;
            #[used]
            static _F2: unsafe extern "C" fn(*mut *mut c_void, usize, usize) -> c_int =
                jemalloc_sys::posix_memalign;
            #[used]
            static _F3: unsafe extern "C" fn(usize, usize) -> *mut c_void = jemalloc_sys::aligned_alloc;
            #[used]
            static _F4: unsafe extern "C" fn(usize) -> *mut c_void = jemalloc_sys::malloc;
            #[used]
            static _F5: unsafe extern "C" fn(*mut c_void, usize) -> *mut c_void = jemalloc_sys::realloc;
            #[used]
            static _F6: unsafe extern "C" fn(*mut c_void) = jemalloc_sys::free;
        }
    
        rustc_driver::set_sigpipe_handler();
        rustc_driver::main()
    }
    
    

    WebAssembly

    《Rust 程序设计语言》

    https://doc.rust-lang.org/book/

    https://www.rust-lang.org/zh-CN/learn

    // main.rs
    
    fn main() {
        println!("Hello, world!");
    }
    
    
    $ rustc main.rs
    $ ./main
    Hello, world!
    
    

    PATH environment variable

    https://flutter.dev/docs/get-started/install/macos#update-your-path

    $PATH

    
    $ cat $HOME/.bash_profile 
    $ cat $HOME/.bashrc
    
    $ vim $HOME/.bash_profile 
    $ vim $HOME/.bashrc
    
    $ cat $HOME/.zshrc
    $ vim $HOME/.zshrc
    
    

    zsh

    
    $ cat .zshrc
    $ vim .zshrc
    
    # flutter PATH & zsh
    export PATH="$PATH:/Users/xgqfrms-mbp/Documents/Flutter/flutter/bin"
    
    $ source $HOME/.zshrc
    
    

    OK

    # version
    $ rustc --version
    # rustc 1.42.0 (b8cedc004 2020-03-09
    
    

    refs

    https://doc.rust-lang.org/book/


    Flag Counter

    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    svn使用总结
    捕获JS 错误日志
    致敬 54岁的刘德华
    Mac 下 命令收藏
    坑人的七牛CDN
    【No.1】监控Linux性能25个命令行工具
    PAC 自动代理
    jquery 事件 多次绑定,多次触发,怎么清除历史绑定事件
    Squid 操作实践
    ntpdate[16603]: the NTP socket is in use
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/12702549.html
Copyright © 2011-2022 走看看