淘宝网三星i8268进不去recovery与三星gt-i8268

Ubuntu操作系统信息如下。

root@hanyw:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy

GCC帮助手册的第14小节,第7288~8288行,如下。

7288 Max. size of loc list for which reverse ops should be added.
7289 tracer-dynamic-coverage-feedback
7290 The percentage of function, weighted by execution frequency, that must be covered by trace formation.
7291 Used when profile feedback is available.
7292 max-inline-recursive-depth-auto
7293 The maximum depth of recursive inlining for non-inline functions.
7294 fsm-scale-path-stmts
7295 Scale factor to apply to the number of statements in a threading path when comparing to the number of
7296 (scaled) blocks.
7297 fsm-maximum-phi-arguments
7298 Maximum number of arguments a PHI may have before the FSM threader will not try to thread through its
7299 block.
7300 uninit-control-dep-attempts
7301 Maximum number of nested calls to search for control dependencies during uninitialized variable
7302 analysis.
7303 sra-max-scalarization-size-Osize
7304 Maximum size, in storage units, of an aggregate which should be considered for scalarization when
7305 compiling for size.
7306 fsm-scale-path-blocks
7307 Scale factor to apply to the number of blocks in a threading path when comparing to the number of
7308 (scaled) statements.
7309 sched-autopref-queue-depth
7310 Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into;
7311 at ' ' only enable instruction sorting heuristic.
7312 loop-versioning-max-inner-insns
7313 The maximum number of instructions that an inner loop can have before the loop versioning pass
7314 considers it too big to copy.
7315 loop-versioning-max-outer-insns
7316 The maximum number of instructions that an outer loop can have before the loop versioning pass
7317 considers it too big to copy, discounting any instructions in inner loops that directly benefit from
7318 versioning.
7319 ssa-name-def-chain-limit
7320 The maximum number of SSA_NAME assignments to follow in determining a property of a variable such as
7321 its value. This limits the number of iterations or recursive calls GCC performs when optimizing
7322 certain statements or when determining their validity prior to issuing diagnostics.
7323 store-merging-max-size
7324 Maximum size of a single store merging region in bytes.
7325 hash-table-verification-limit
7326 The number of elements for which hash table verification is done for each searched element.
7327 max-find-base-term-values
7328 Maximum number of VALUEs handled during a single find_base_term call.
7329 analyzer-max-enodes-per-program-point
7330 The maximum number of exploded nodes per program point within the analyzer, before terminating analysis
7331 of that point.
7332 analyzer-max-constraints
7333 The maximum number of constraints per state.
7334 analyzer-min-snodes-for-call-summary
7335 The minimum number of supernodes within a function for the analyzer to consider summarizing its effects
7336 at call sites.
7337 analyzer-max-enodes-for-full-dump
7338 The maximum depth of exploded nodes that should appear in a dot dump before switching to a less verbose
7339 format.
7340 analyzer-max-recursion-depth
7341 The maximum number of times a callsite can appear in a call stack within the analyzer, before
7342 terminating analysis of a call that would recurse deeper.
7343 analyzer-max-svalue-depth
7344 The maximum depth of a symbolic value, before approximating the value as unknown.
7345 analyzer-max-infeasible-edges
7346 The maximum number of infeasible edges to reject before declaring a diagnostic as infeasible.
7347 gimple-fe-computed-hot-bb-threshold
7348 The number of executions of a basic block which is considered hot. The parameter is used only in
7349 GIMPLE FE.
7350 analyzer-bb-explosion-factor
7351 The maximum number of 'after supernode' exploded nodes within the analyzer per supernode, before
7352 terminating analysis.
7353 ranger-logical-depth
7354 Maximum depth of logical expression evaluation ranger will look through when evaluating outgoing edge
7355 ranges.
7356 openacc-kernels
7357 Specify mode of OpenACC `kernels' constructs handling. With --param=openacc-kernels=decompose, OpenACC
7358 `kernels' constructs are decomposed into parts, a sequence of compute constructs, each then handled
7359 individually. This is work in progress. With --param=openacc-kernels=parloops, OpenACC `kernels'
7360 constructs are handled by the parloops pass, en bloc. This is the current default.
7361 The following choices of name are available on AArch64 targets:
7362 aarch64-sve-compare-costs
7363 When vectorizing for SVE, consider using "unpacked" vectors for smaller elements and use the cost model
7364 to pick the cheapest approach. Also use the cost model to choose between SVE and Advanced SIMD
7365 vectorization.
7366 Using unpacked vectors includes storing smaller elements in larger containers and accessing elements
7367 with extending loads and truncating stores.
7368 aarch64-float-recp-precision
7369 The number of Newton iterations for calculating the reciprocal for float type. The precision of
7370 division is proportional to this param when division approximation is enabled. The default value is 1.
7371 aarch64-double-recp-precision
7372 The number of Newton iterations for calculating the reciprocal for double type. The precision of
7373 division is propotional to this param when division approximation is enabled. The default value is 2.
7374 aarch64-autovec-preference
7375 Force an ISA selection strategy for auto-vectorization. Accepts values from 0 to 4, inclusive.
7376 0 Use the default heuristics.
7377 1 Use only Advanced SIMD for auto-vectorization.
7378 2 Use only SVE for auto-vectorization.
7379 3 Use both Advanced SIMD and SVE. Prefer Advanced SIMD when the costs are deemed equal.
7380 4 Use both Advanced SIMD and SVE. Prefer SVE when the costs are deemed equal.
7381 The default value is 0.
7382 aarch64-loop-vect-issue-rate-niters
7383 The tuning for some AArch64 CPUs tries to take both latencies and issue rates into account when
7384 deciding whether a loop should be vectorized using SVE, vectorized using Advanced SIMD, or not
7385 vectorized at all. If this parameter is set to n, GCC will not use this heuristic for loops that are
7386 known to execute in fewer than n Advanced SIMD iterations.
7387 Program Instrumentation Options
7388 GCC supports a number of command-line options that control adding run-time instrumentation to the code it
7389 normally generates. For example, one purpose of instrumentation is collect profiling statistics for use in
7390 finding program hot spots, code coverage analysis, or profile-guided optimizations. Another class of program
7391 instrumentation is adding run-time checking to detect programming errors like invalid pointer dereferences or
7392 out-of-bounds array accesses, as well as deliberately hostile attacks such as stack smashing or C++ vtable
7393 hijacking. There is also a general hook which can be used to implement other forms of tracing or function-
7394 level instrumentation for debug or program analysis purposes.
7395 -p
7396 -pg Generate extra code to write profile information suitable for the analysis program prof (for -p) or gprof
7397 (for -pg). You must use this option when compiling the source files you want data about, and you must also
7398 use it when linking.
7399 You can use the function attribute "no_instrument_function" to suppress profiling of individual functions
7400 when compiling with these options.
7401 -fprofile-arcs
7402 Add code so that program flow arcs are instrumented. During execution the program records how many times
7403 each branch and call is executed and how many times it is taken or returns. On targets that support
7404 constructors with priority support, profiling properly handles constructors, destructors and C++
7405 constructors (and destructors) of classes which are used as a type of a global variable.
7406 When the compiled program exits it saves this data to a file called auxname.gcda for each source file. The
7407 data may be used for profile-directed optimizations (-fbranch-probabilities), or for test coverage analysis
7408 (-ftest-coverage). Each object file's auxname is generated from the name of the output file, if explicitly
7409 specified and it is not the final executable, otherwise it is the basename of the source file. In both
7410 cases any suffix is removed (e.g. foo.gcda for input file dir/foo.c, or dir/foo.gcda for output file
7411 specified as -o dir/foo.o).
7412 --coverage
7413 This option is used to compile and link code instrumented for coverage analysis. The option is a synonym
7414 for -fprofile-arcs -ftest-coverage (when compiling) and -lgcov (when linking). See the documentation for
7415 those options for more details.
7416 * Compile the source files with -fprofile-arcs plus optimization and code generation options. For test
7417 coverage analysis, use the additional -ftest-coverage option. You do not need to profile every source
7418 file in a program.
7419 * Compile the source files additionally with -fprofile-abs-path to create absolute path names in the
7420 .gcno files. This allows gcov to find the correct sources in projects where compilations occur with
7421 different working directories.
7422 * Link your object files with -lgcov or -fprofile-arcs (the latter implies the former).
7423 * Run the program on a representative workload to generate the arc profile information. This may be
7424 repeated any number of times. You can run concurrent instances of your program, and provided that the
7425 file system supports locking, the data files will be correctly updated. Unless a strict ISO C dialect
7426 option is in effect, "fork" calls are detected and correctly handled without double counting.
7427 * For profile-directed optimizations, compile the source files again with the same optimization and code
7428 generation options plus -fbranch-probabilities.
7429 * For test coverage analysis, use gcov to produce human readable information from the .gcno and .gcda
7430 files. Refer to the gcov documentation for further information.
7431 With -fprofile-arcs, for each function of your program GCC creates a program flow graph, then finds a
7432 spanning tree for the graph. Only arcs that are not on the spanning tree have to be instrumented: the
7433 compiler adds code to count the number of times that these arcs are executed. When an arc is the only exit
7434 or only entrance to a block, the instrumentation code can be added to the block; otherwise, a new basic
7435 block must be created to hold the instrumentation code.
7436 -ftest-coverage
7437 Produce a notes file that the gcov code-coverage utility can use to show program coverage. Each source
7438 file's note file is called auxname.gcno. Refer to the -fprofile-arcs option above for a description of
7439 auxname and instructions on how to generate test coverage data. Coverage data matches the source files
7440 more closely if you do not optimize.
7441 -fprofile-abs-path
7442 Automatically convert relative source file names to absolute path names in the .gcno files. This allows
7443 gcov to find the correct sources in projects where compilations occur with different working directories.
7444 -fprofile-dir=path
7445 Set the directory to search for the profile data files in to path. This option affects only the profile
7446 data generated by -fprofile-generate, -ftest-coverage, -fprofile-arcs and used by -fprofile-use and
7447 -fbranch-probabilities and its related options. Both absolute and relative paths can be used. By default,
7448 GCC uses the current directory as path, thus the profile data file appears in the same directory as the
7449 object file. In order to prevent the file name clashing, if the object file name is not an absolute path,
7450 we mangle the absolute path of the sourcename.gcda file and use it as the file name of a .gcda file. See
7451 similar option -fprofile-note.
7452 When an executable is run in a massive parallel environment, it is recommended to save profile to different
7453 folders. That can be done with variables in path that are exported during run-time:
7454 %p process ID.
7455 %q{VAR}
7456 value of environment variable VAR
7457 -fprofile-generate
7458 -fprofile-generate=path
7459 Enable options usually used for instrumenting application to produce profile useful for later recompilation
7460 with profile feedback based optimization. You must use -fprofile-generate both when compiling and when
7461 linking your program.
7462 The following options are enabled: -fprofile-arcs, -fprofile-values, -finline-functions, and -fipa-bit-cp.
7463 If path is specified, GCC looks at the path to find the profile feedback data files. See -fprofile-dir.
7464 To optimize the program based on the collected profile information, use -fprofile-use.
7465 -fprofile-info-section
7466 -fprofile-info-section=name
7467 Register the profile information in the specified section instead of using a constructor/destructor. The
7468 section name is name if it is specified, otherwise the section name defaults to ".gcov_info". A pointer to
7469 the profile information generated by -fprofile-arcs or -ftest-coverage is placed in the specified section
7470 for each translation unit. This option disables the profile information registration through a constructor
7471 and it disables the profile information processing through a destructor. This option is not intended to be
7472 used in hosted environments such as GNU/Linux. It targets systems with limited resources which do not
7473 support constructors and destructors. The linker could collect the input sections in a continuous memory
7474 block and define start and end symbols. The runtime support could dump the profiling information
7475 registered in this linker set during program termination to a serial line for example. A GNU linker script
7476 example which defines a linker output section follows:
7477 .gcov_info :
7478 {
7479 PROVIDE (__gcov_info_start = .);
7480 KEEP (*(.gcov_info))
7481 PROVIDE (__gcov_info_end = .);
7482 }
7483 -fprofile-note=path
7484 If path is specified, GCC saves .gcno file into path location. If you combine the option with multiple
7485 source files, the .gcno file will be overwritten.
7486 -fprofile-prefix-path=path
7487 This option can be used in combination with profile-generate=profile_dir and profile-use=profile_dir to
7488 inform GCC where is the base directory of built source tree. By default profile_dir will contain files
7489 with mangled absolute paths of all object files in the built project. This is not desirable when directory
7490 used to build the instrumented binary differs from the directory used to build the binary optimized with
7491 profile feedback because the profile data will not be found during the optimized build. In such setups
7492 -fprofile-prefix-path=path with path pointing to the base directory of the build can be used to strip the
7493 irrelevant part of the path and keep all file names relative to the main build directory.
7494 -fprofile-update=method
7495 Alter the update method for an application instrumented for profile feedback based optimization. The
7496 method argument should be one of single, atomic or prefer-atomic. The first one is useful for single-
7497 threaded applications, while the second one prevents profile corruption by emitting thread-safe code.
7498 Warning: When an application does not properly join all threads (or creates an detached thread), a profile
7499 file can be still corrupted.
7500 Using prefer-atomic would be transformed either to atomic, when supported by a target, or to single
7501 otherwise. The GCC driver automatically selects prefer-atomic when -pthread is present in the command
7502 line.
7503 -fprofile-filter-files=regex
7504 Instrument only functions from files whose name matches any of the regular expressions (separated by semi-
7505 colons).
7506 For example, -fprofile-filter-files=main\.c;module.*\.c will instrument only main.c and all C files
7507 starting with 'module'.
7508 -fprofile-exclude-files=regex
7509 Instrument only functions from files whose name does not match any of the regular expressions (separated by
7510 semi-colons).
7511 For example, -fprofile-exclude-files=/usr/.* will prevent instrumentation of all files that are located in
7512 the /usr/ folder.
7513 -fprofile-reproducible=[multithreaded|parallel-runs|serial]
7514 Control level of reproducibility of profile gathered by "-fprofile-generate". This makes it possible to
7515 rebuild program with same outcome which is useful, for example, for distribution packages.
7516 With -fprofile-reproducible=serial the profile gathered by -fprofile-generate is reproducible provided the
7517 trained program behaves the same at each invocation of the train run, it is not multi-threaded and profile
7518 data streaming is always done in the same order. Note that profile streaming happens at the end of program
7519 run but also before "fork" function is invoked.
7520 Note that it is quite common that execution counts of some part of programs depends, for example, on length
7521 of temporary file names or memory space randomization (that may affect hash-table collision rate). Such
7522 non-reproducible part of programs may be annotated by "no_instrument_function" function attribute. gcov-
7523 dump with -l can be used to dump gathered data and verify that they are indeed reproducible.
7524 With -fprofile-reproducible=parallel-runs collected profile stays reproducible regardless the order of
7525 streaming of the data into gcda files. This setting makes it possible to run multiple instances of
7526 instrumented program in parallel (such as with "make -j"). This reduces quality of gathered data, in
7527 particular of indirect call profiling.
7528 -fsanitize=address
7529 Enable AddressSanitizer, a fast memory error detector. Memory access instructions are instrumented to
7530 detect out-of-bounds and use-after-free bugs. The option enables -fsanitize-address-use-after-scope. See
7531 <https://github.com/google/sanitizers/wiki/AddressSanitizer> for more details. The run-time behavior can
7532 be influenced using the ASAN_OPTIONS environment variable. When set to "help=1", the available options are
7533 shown at startup of the instrumented program. See
7534 <https://github.com/google/sanitizers/wiki/AddressSanitizerFlags#run-time-flags> for a list of supported
7535 options. The option cannot be combined with -fsanitize=thread or -fsanitize=hwaddress. Note that the only
7536 target -fsanitize=hwaddress is currently supported on is AArch64.
7537 -fsanitize=kernel-address
7538 Enable AddressSanitizer for Linux kernel. See <https://github.com/google/kasan> for more details.
7539 -fsanitize=hwaddress
7540 Enable Hardware-assisted AddressSanitizer, which uses a hardware ability to ignore the top byte of a
7541 pointer to allow the detection of memory errors with a low memory overhead. Memory access instructions are
7542 instrumented to detect out-of-bounds and use-after-free bugs. The option enables
7543 -fsanitize-address-use-after-scope. See
7544 <https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html> for more details. The run-time
7545 behavior can be influenced using the HWASAN_OPTIONS environment variable. When set to "help=1", the
7546 available options are shown at startup of the instrumented program. The option cannot be combined with
7547 -fsanitize=thread or -fsanitize=address, and is currently only available on AArch64.
7548 -fsanitize=kernel-hwaddress
7549 Enable Hardware-assisted AddressSanitizer for compilation of the Linux kernel. Similar to
7550 -fsanitize=kernel-address but using an alternate instrumentation method, and similar to
7551 -fsanitize=hwaddress but with instrumentation differences necessary for compiling the Linux kernel. These
7552 differences are to avoid hwasan library initialization calls and to account for the stack pointer having a
7553 different value in its top byte.
7554 Note: This option has different defaults to the -fsanitize=hwaddress. Instrumenting the stack and alloca
7555 calls are not on by default but are still possible by specifying the command-line options --param
7556 hwasan-instrument-stack=1 and --param hwasan-instrument-allocas=1 respectively. Using a random frame tag is
7557 not implemented for kernel instrumentation.
7558 -fsanitize=pointer-compare
7559 Instrument comparison operation (<, <=, >, >=) with pointer operands. The option must be combined with
7560 either -fsanitize=kernel-address or -fsanitize=address The option cannot be combined with
7561 -fsanitize=thread. Note: By default the check is disabled at run time. To enable it, add
7562 "detect_invalid_pointer_pairs=2" to the environment variable ASAN_OPTIONS. Using
7563 "detect_invalid_pointer_pairs=1" detects invalid operation only when both pointers are non-null.
7564 -fsanitize=pointer-subtract
7565 Instrument subtraction with pointer operands. The option must be combined with either
7566 -fsanitize=kernel-address or -fsanitize=address The option cannot be combined with -fsanitize=thread.
7567 Note: By default the check is disabled at run time. To enable it, add "detect_invalid_pointer_pairs=2" to
7568 the environment variable ASAN_OPTIONS. Using "detect_invalid_pointer_pairs=1" detects invalid operation
7569 only when both pointers are non-null.
7570 -fsanitize=thread
7571 Enable ThreadSanitizer, a fast data race detector. Memory access instructions are instrumented to detect
7572 data race bugs. See <https://github.com/google/sanitizers/wiki#threadsanitizer> for more details. The run-
7573 time behavior can be influenced using the TSAN_OPTIONS environment variable; see
7574 <https://github.com/google/sanitizers/wiki/ThreadSanitizerFlags> for a list of supported options. The
7575 option cannot be combined with -fsanitize=address, -fsanitize=leak.
7576 Note that sanitized atomic builtins cannot throw exceptions when operating on invalid memory addresses with
7577 non-call exceptions (-fnon-call-exceptions).
7578 -fsanitize=leak
7579 Enable LeakSanitizer, a memory leak detector. This option only matters for linking of executables and the
7580 executable is linked against a library that overrides "malloc" and other allocator functions. See
7581 <https://github.com/google/sanitizers/wiki/AddressSanitizerLeakSanitizer> for more details. The run-time
7582 behavior can be influenced using the LSAN_OPTIONS environment variable. The option cannot be combined with
7583 -fsanitize=thread.
7584 -fsanitize=undefined
7585 Enable UndefinedBehaviorSanitizer, a fast undefined behavior detector. Various computations are
7586 instrumented to detect undefined behavior at runtime. See
7587 <https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html> for more details. The run-time behavior can
7588 be influenced using the UBSAN_OPTIONS environment variable. Current suboptions are:
7589 -fsanitize=shift
7590 This option enables checking that the result of a shift operation is not undefined. Note that what
7591 exactly is considered undefined differs slightly between C and C++, as well as between ISO C90 and C99,
7592 etc. This option has two suboptions, -fsanitize=shift-base and -fsanitize=shift-exponent.
7593 -fsanitize=shift-exponent
7594 This option enables checking that the second argument of a shift operation is not negative and is
7595 smaller than the precision of the promoted first argument.
7596 -fsanitize=shift-base
7597 If the second argument of a shift operation is within range, check that the result of a shift operation
7598 is not undefined. Note that what exactly is considered undefined differs slightly between C and C++,
7599 as well as between ISO C90 and C99, etc.
7600 -fsanitize=integer-divide-by-zero
7601 Detect integer division by zero as well as "INT_MIN / -1" division.
7602 -fsanitize=unreachable
7603 With this option, the compiler turns the "__builtin_unreachable" call into a diagnostics message call
7604 instead. When reaching the "__builtin_unreachable" call, the behavior is undefined.
7605 -fsanitize=vla-bound
7606 This option instructs the compiler to check that the size of a variable length array is positive.
7607 -fsanitize=null
7608 This option enables pointer checking. Particularly, the application built with this option turned on
7609 will issue an error message when it tries to dereference a NULL pointer, or if a reference (possibly an
7610 rvalue reference) is bound to a NULL pointer, or if a method is invoked on an object pointed by a NULL
7611 pointer.
7612 -fsanitize=return
7613 This option enables return statement checking. Programs built with this option turned on will issue an
7614 error message when the end of a non-void function is reached without actually returning a value. This
7615 option works in C++ only.
7616 -fsanitize=signed-integer-overflow
7617 This option enables signed integer overflow checking. We check that the result of "+", "*", and both
7618 unary and binary "-" does not overflow in the signed arithmetics. Note, integer promotion rules must
7619 be taken into account. That is, the following is not an overflow:
7620 signed char a = SCHAR_MAX;
7621 a++;
7622 -fsanitize=bounds
7623 This option enables instrumentation of array bounds. Various out of bounds accesses are detected.
7624 Flexible array members, flexible array member-like arrays, and initializers of variables with static
7625 storage are not instrumented.
7626 -fsanitize=bounds-strict
7627 This option enables strict instrumentation of array bounds. Most out of bounds accesses are detected,
7628 including flexible array members and flexible array member-like arrays. Initializers of variables with
7629 static storage are not instrumented.
7630 -fsanitize=alignment
7631 This option enables checking of alignment of pointers when they are dereferenced, or when a reference
7632 is bound to insufficiently aligned target, or when a method or constructor is invoked on insufficiently
7633 aligned object.
7634 -fsanitize=object-size
7635 This option enables instrumentation of memory references using the "__builtin_object_size" function.
7636 Various out of bounds pointer accesses are detected.
7637 -fsanitize=float-divide-by-zero
7638 Detect floating-point division by zero. Unlike other similar options, -fsanitize=float-divide-by-zero
7639 is not enabled by -fsanitize=undefined, since floating-point division by zero can be a legitimate way
7640 of obtaining infinities and NaNs.
7641 -fsanitize=float-cast-overflow
7642 This option enables floating-point type to integer conversion checking. We check that the result of
7643 the conversion does not overflow. Unlike other similar options, -fsanitize=float-cast-overflow is not
7644 enabled by -fsanitize=undefined. This option does not work well with "FE_INVALID" exceptions enabled.
7645 -fsanitize=nonnull-attribute
7646 This option enables instrumentation of calls, checking whether null values are not passed to arguments
7647 marked as requiring a non-null value by the "nonnull" function attribute.
7648 -fsanitize=returns-nonnull-attribute
7649 This option enables instrumentation of return statements in functions marked with "returns_nonnull"
7650 function attribute, to detect returning of null values from such functions.
7651 -fsanitize=bool
7652 This option enables instrumentation of loads from bool. If a value other than 0/1 is loaded, a run-
7653 time error is issued.
7654 -fsanitize=enum
7655 This option enables instrumentation of loads from an enum type. If a value outside the range of values
7656 for the enum type is loaded, a run-time error is issued.
7657 -fsanitize=vptr
7658 This option enables instrumentation of C++ member function calls, member accesses and some conversions
7659 between pointers to base and derived classes, to verify the referenced object has the correct dynamic
7660 type.
7661 -fsanitize=pointer-overflow
7662 This option enables instrumentation of pointer arithmetics. If the pointer arithmetics overflows, a
7663 run-time error is issued.
7664 -fsanitize=builtin
7665 This option enables instrumentation of arguments to selected builtin functions. If an invalid value is
7666 passed to such arguments, a run-time error is issued. E.g. passing 0 as the argument to
7667 "__builtin_ctz" or "__builtin_clz" invokes undefined behavior and is diagnosed by this option.
7668 While -ftrapv causes traps for signed overflows to be emitted, -fsanitize=undefined gives a diagnostic
7669 message. This currently works only for the C family of languages.
7670 -fno-sanitize=all
7671 This option disables all previously enabled sanitizers. -fsanitize=all is not allowed, as some sanitizers
7672 cannot be used together.
7673 -fasan-shadow-offset=number
7674 This option forces GCC to use custom shadow offset in AddressSanitizer checks. It is useful for
7675 experimenting with different shadow memory layouts in Kernel AddressSanitizer.
7676 -fsanitize-sections=s1,s2,...
7677 Sanitize global variables in selected user-defined sections. si may contain wildcards.
7678 -fsanitize-recover[=opts]
7679 -fsanitize-recover= controls error recovery mode for sanitizers mentioned in comma-separated list of opts.
7680 Enabling this option for a sanitizer component causes it to attempt to continue running the program as if
7681 no error happened. This means multiple runtime errors can be reported in a single program run, and the
7682 exit code of the program may indicate success even when errors have been reported. The
7683 -fno-sanitize-recover= option can be used to alter this behavior: only the first detected error is reported
7684 and program then exits with a non-zero exit code.
7685 Currently this feature only works for -fsanitize=undefined (and its suboptions except for
7686 -fsanitize=unreachable and -fsanitize=return), -fsanitize=float-cast-overflow,
7687 -fsanitize=float-divide-by-zero, -fsanitize=bounds-strict, -fsanitize=kernel-address and
7688 -fsanitize=address. For these sanitizers error recovery is turned on by default, except
7689 -fsanitize=address, for which this feature is experimental. -fsanitize-recover=all and
7690 -fno-sanitize-recover=all is also accepted, the former enables recovery for all sanitizers that support it,
7691 the latter disables recovery for all sanitizers that support it.
7692 Even if a recovery mode is turned on the compiler side, it needs to be also enabled on the runtime library
7693 side, otherwise the failures are still fatal. The runtime library defaults to "halt_on_error=0" for
7694 ThreadSanitizer and UndefinedBehaviorSanitizer, while default value for AddressSanitizer is
7695 "halt_on_error=1". This can be overridden through setting the "halt_on_error" flag in the corresponding
7696 environment variable.
7697 Syntax without an explicit opts parameter is deprecated. It is equivalent to specifying an opts list of:
7698 undefined,float-cast-overflow,float-divide-by-zero,bounds-strict
7699 -fsanitize-address-use-after-scope
7700 Enable sanitization of local variables to detect use-after-scope bugs. The option sets -fstack-reuse to
7701 none.
7702 -fsanitize-undefined-trap-on-error
7703 The -fsanitize-undefined-trap-on-error option instructs the compiler to report undefined behavior using
7704 "__builtin_trap" rather than a "libubsan" library routine. The advantage of this is that the "libubsan"
7705 library is not needed and is not linked in, so this is usable even in freestanding environments.
7706 -fsanitize-coverage=trace-pc
7707 Enable coverage-guided fuzzing code instrumentation. Inserts a call to "__sanitizer_cov_trace_pc" into
7708 every basic block.
7709 -fsanitize-coverage=trace-cmp
7710 Enable dataflow guided fuzzing code instrumentation. Inserts a call to "__sanitizer_cov_trace_cmp1",
7711 "__sanitizer_cov_trace_cmp2", "__sanitizer_cov_trace_cmp4" or "__sanitizer_cov_trace_cmp8" for integral
7712 comparison with both operands variable or "__sanitizer_cov_trace_const_cmp1",
7713 "__sanitizer_cov_trace_const_cmp2", "__sanitizer_cov_trace_const_cmp4" or
7714 "__sanitizer_cov_trace_const_cmp8" for integral comparison with one operand constant,
7715 "__sanitizer_cov_trace_cmpf" or "__sanitizer_cov_trace_cmpd" for float or double comparisons and
7716 "__sanitizer_cov_trace_switch" for switch statements.
7717 -fcf-protection=[full|branch|return|none|check]
7718 Enable code instrumentation of control-flow transfers to increase program security by checking that target
7719 addresses of control-flow transfer instructions (such as indirect function call, function return, indirect
7720 jump) are valid. This prevents diverting the flow of control to an unexpected target. This is intended to
7721 protect against such threats as Return-oriented Programming (ROP), and similarly call/jmp-oriented
7722 programming (COP/JOP).
7723 The value "branch" tells the compiler to implement checking of validity of control-flow transfer at the
7724 point of indirect branch instructions, i.e. call/jmp instructions. The value "return" implements checking
7725 of validity at the point of returning from a function. The value "full" is an alias for specifying both
7726 "branch" and "return". The value "none" turns off instrumentation.
7727 The value "check" is used for the final link with link-time optimization (LTO). An error is issued if LTO
7728 object files are compiled with different -fcf-protection values. The value "check" is ignored at the
7729 compile time.
7730 The macro "__CET__" is defined when -fcf-protection is used. The first bit of "__CET__" is set to 1 for
7731 the value "branch" and the second bit of "__CET__" is set to 1 for the "return".
7732 You can also use the "nocf_check" attribute to identify which functions and calls should be skipped from
7733 instrumentation.
7734 Currently the x86 GNU/Linux target provides an implementation based on Intel Control-flow Enforcement
7735 Technology (CET) which works for i686 processor or newer.
7736 NOTE: In Ubuntu 19.10 and later versions, -fcf-protection is enabled by default for C, C++, ObjC, ObjC++,
7737 if none of -fno-cf-protection nor -fcf-protection=* are found.
7738 -fstack-protector
7739 Emit extra code to check for buffer overflows, such as stack smashing attacks. This is done by adding a
7740 guard variable to functions with vulnerable objects. This includes functions that call "alloca", and
7741 functions with buffers larger than or equal to 8 bytes. The guards are initialized when a function is
7742 entered and then checked when the function exits. If a guard check fails, an error message is printed and
7743 the program exits. Only variables that are actually allocated on the stack are considered, optimized away
7744 variables or variables allocated in registers don't count.
7745 -fstack-protector-all
7746 Like -fstack-protector except that all functions are protected.
7747 -fstack-protector-strong
7748 Like -fstack-protector but includes additional functions to be protected --- those that have local array
7749 definitions, or have references to local frame addresses. Only variables that are actually allocated on
7750 the stack are considered, optimized away variables or variables allocated in registers don't count.
7751 -fstack-protector-explicit
7752 Like -fstack-protector but only protects those functions which have the "stack_protect" attribute.
7753 -fstack-check
7754 Generate code to verify that you do not go beyond the boundary of the stack. You should specify this flag
7755 if you are running in an environment with multiple threads, but you only rarely need to specify it in a
7756 single-threaded environment since stack overflow is automatically detected on nearly all systems if there
7757 is only one stack.
7758 Note that this switch does not actually cause checking to be done; the operating system or the language
7759 runtime must do that. The switch causes generation of code to ensure that they see the stack being
7760 extended.
7761 You can additionally specify a string parameter: no means no checking, generic means force the use of old-
7762 style checking, specific means use the best checking method and is equivalent to bare -fstack-check.
7763 Old-style checking is a generic mechanism that requires no specific target support in the compiler but
7764 comes with the following drawbacks:
7765 1. Modified allocation strategy for large objects: they are always allocated dynamically if their size
7766 exceeds a fixed threshold. Note this may change the semantics of some code.
7767 2. Fixed limit on the size of the static frame of functions: when it is topped by a particular function,
7768 stack checking is not reliable and a warning is issued by the compiler.
7769 3. Inefficiency: because of both the modified allocation strategy and the generic implementation, code
7770 performance is hampered.
7771 Note that old-style stack checking is also the fallback method for specific if no target support has been
7772 added in the compiler.
7773 -fstack-check= is designed for Ada's needs to detect infinite recursion and stack overflows. specific is
7774 an excellent choice when compiling Ada code. It is not generally sufficient to protect against stack-clash
7775 attacks. To protect against those you want -fstack-clash-protection.
7776 -fstack-clash-protection
7777 Generate code to prevent stack clash style attacks. When this option is enabled, the compiler will only
7778 allocate one page of stack space at a time and each page is accessed immediately after allocation. Thus,
7779 it prevents allocations from jumping over any stack guard page provided by the operating system.
7780 Most targets do not fully support stack clash protection. However, on those targets
7781 -fstack-clash-protection will protect dynamic stack allocations. -fstack-clash-protection may also provide
7782 limited protection for static stack allocations if the target supports -fstack-check=specific.
7783 NOTE: In Ubuntu 19.10 and later versions, -fstack-clash-protection is enabled by default for C, C++, ObjC,
7784 ObjC++, unless -fno-stack-clash-protection is found.
7785 -fstack-limit-register=reg
7786 -fstack-limit-symbol=sym
7787 -fno-stack-limit
7788 Generate code to ensure that the stack does not grow beyond a certain value, either the value of a register
7789 or the address of a symbol. If a larger stack is required, a signal is raised at run time. For most
7790 targets, the signal is raised before the stack overruns the boundary, so it is possible to catch the signal
7791 without taking special precautions.
7792 For instance, if the stack starts at absolute address 0x80000000 and grows downwards, you can use the flags
7793 -fstack-limit-symbol=__stack_limit and -Wl,--defsym,__stack_limit=0x7ffe0000 to enforce a stack limit of
7794 128KB. Note that this may only work with the GNU linker.
7795 You can locally override stack limit checking by using the "no_stack_limit" function attribute.
7796 -fsplit-stack
7797 Generate code to automatically split the stack before it overflows. The resulting program has a
7798 discontiguous stack which can only overflow if the program is unable to allocate any more memory. This is
7799 most useful when running threaded programs, as it is no longer necessary to calculate a good stack size to
7800 use for each thread. This is currently only implemented for the x86 targets running GNU/Linux.
7801 When code compiled with -fsplit-stack calls code compiled without -fsplit-stack, there may not be much
7802 stack space available for the latter code to run. If compiling all code, including library code, with
7803 -fsplit-stack is not an option, then the linker can fix up these calls so that the code compiled without
7804 -fsplit-stack always has a large stack. Support for this is implemented in the gold linker in GNU binutils
7805 release 2.21 and later.
7806 -fvtable-verify=[std|preinit|none]
7807 This option is only available when compiling C++ code. It turns on (or off, if using -fvtable-verify=none)
7808 the security feature that verifies at run time, for every virtual call, that the vtable pointer through
7809 which the call is made is valid for the type of the object, and has not been corrupted or overwritten. If
7810 an invalid vtable pointer is detected at run time, an error is reported and execution of the program is
7811 immediately halted.
7812 This option causes run-time data structures to be built at program startup, which are used for verifying
7813 the vtable pointers. The options std and preinit control the timing of when these data structures are
7814 built. In both cases the data structures are built before execution reaches "main". Using
7815 -fvtable-verify=std causes the data structures to be built after shared libraries have been loaded and
7816 initialized. -fvtable-verify=preinit causes them to be built before shared libraries have been loaded and
7817 initialized.
7818 If this option appears multiple times in the command line with different values specified, none takes
7819 highest priority over both std and preinit; preinit takes priority over std.
7820 -fvtv-debug
7821 When used in conjunction with -fvtable-verify=std or -fvtable-verify=preinit, causes debug versions of the
7822 runtime functions for the vtable verification feature to be called. This flag also causes the compiler to
7823 log information about which vtable pointers it finds for each class. This information is written to a file
7824 named vtv_set_ptr_data.log in the directory named by the environment variable VTV_LOGS_DIR if that is
7825 defined or the current working directory otherwise.
7826 Note: This feature appends data to the log file. If you want a fresh log file, be sure to delete any
7827 existing one.
7828 -fvtv-counts
7829 This is a debugging flag. When used in conjunction with -fvtable-verify=std or -fvtable-verify=preinit,
7830 this causes the compiler to keep track of the total number of virtual calls it encounters and the number of
7831 verifications it inserts. It also counts the number of calls to certain run-time library functions that it
7832 inserts and logs this information for each compilation unit. The compiler writes this information to a
7833 file named vtv_count_data.log in the directory named by the environment variable VTV_LOGS_DIR if that is
7834 defined or the current working directory otherwise. It also counts the size of the vtable pointer sets for
7835 each class, and writes this information to vtv_class_set_sizes.log in the same directory.
7836 Note: This feature appends data to the log files. To get fresh log files, be sure to delete any existing
7837 ones.
7838 -finstrument-functions
7839 Generate instrumentation calls for entry and exit to functions. Just after function entry and just before
7840 function exit, the following profiling functions are called with the address of the current function and
7841 its call site. (On some platforms, "__builtin_return_address" does not work beyond the current function,
7842 so the call site information may not be available to the profiling functions otherwise.)
7843 void __cyg_profile_func_enter (void *this_fn,
7844 void *call_site);
7845 void __cyg_profile_func_exit (void *this_fn,
7846 void *call_site);
7847 The first argument is the address of the start of the current function, which may be looked up exactly in
7848 the symbol table.
7849 This instrumentation is also done for functions expanded inline in other functions. The profiling calls
7850 indicate where, conceptually, the inline function is entered and exited. This means that addressable
7851 versions of such functions must be available. If all your uses of a function are expanded inline, this may
7852 mean an additional expansion of code size. If you use "extern inline" in your C code, an addressable
7853 version of such functions must be provided. (This is normally the case anyway, but if you get lucky and
7854 the optimizer always expands the functions inline, you might have gotten away without providing static
7855 copies.)
7856 A function may be given the attribute "no_instrument_function", in which case this instrumentation is not
7857 done. This can be used, for example, for the profiling functions listed above, high-priority interrupt
7858 routines, and any functions from which the profiling functions cannot safely be called (perhaps signal
7859 handlers, if the profiling routines generate output or allocate memory).
7860 -finstrument-functions-exclude-file-list=file,file,...
7861 Set the list of functions that are excluded from instrumentation (see the description of
7862 -finstrument-functions). If the file that contains a function definition matches with one of file, then
7863 that function is not instrumented. The match is done on substrings: if the file parameter is a substring
7864 of the file name, it is considered to be a match.
7865 For example:
7866 -finstrument-functions-exclude-file-list=/bits/stl,include/sys
7867 excludes any inline function defined in files whose pathnames contain /bits/stl or include/sys.
7868 If, for some reason, you want to include letter , in one of sym, write ,. For example,
7869 -finstrument-functions-exclude-file-list=',,tmp' (note the single quote surrounding the option).
7870 -finstrument-functions-exclude-function-list=sym,sym,...
7871 This is similar to -finstrument-functions-exclude-file-list, but this option sets the list of function
7872 names to be excluded from instrumentation. The function name to be matched is its user-visible name, such
7873 as "vector<int> blah(const vector<int> &)", not the internal mangled name (e.g.,
7874 "_Z4blahRSt6vectorIiSaIiEE"). The match is done on substrings: if the sym parameter is a substring of the
7875 function name, it is considered to be a match. For C99 and C++ extended identifiers, the function name
7876 must be given in UTF-8, not using universal character names.
7877 -fpatchable-function-entry=N[,M]
7878 Generate N NOPs right at the beginning of each function, with the function entry point before the Mth NOP.
7879 If M is omitted, it defaults to 0 so the function entry points to the address just at the first NOP. The
7880 NOP instructions reserve extra space which can be used to patch in any desired instrumentation at run time,
7881 provided that the code segment is writable. The amount of space is controllable indirectly via the number
7882 of NOPs; the NOP instruction used corresponds to the instruction emitted by the internal GCC back-end
7883 interface "gen_nop". This behavior is target-specific and may also depend on the architecture variant
7884 and/or other compilation options.
7885 For run-time identification, the starting addresses of these areas, which correspond to their respective
7886 function entries minus M, are additionally collected in the "__patchable_function_entries" section of the
7887 resulting binary.
7888 Note that the value of "__attribute__ ((patchable_function_entry (N,M)))" takes precedence over command-
7889 line option -fpatchable-function-entry=N,M. This can be used to increase the area size or to remove it
7890 completely on a single function. If "N=0", no pad location is recorded.
7891 The NOP instructions are inserted at---and maybe before, depending on M---the function entry address, even
7892 before the prologue.
7893 The maximum value of N and M is 65535.
7894 Options Controlling the Preprocessor
7895 These options control the C preprocessor, which is run on each C source file before actual compilation.
7896 If you use the -E option, nothing is done except preprocessing. Some of these options make sense only together
7897 with -E because they cause the preprocessor output to be unsuitable for actual compilation.
7898 In addition to the options listed here, there are a number of options to control search paths for include files
7899 documented in Directory Options. Options to control preprocessor diagnostics are listed in Warning Options.
7900 -D name
7901 Predefine name as a macro, with definition 1.
7902 -D name=definition
7903 The contents of definition are tokenized and processed as if they appeared during translation phase three
7904 in a #define directive. In particular, the definition is truncated by embedded newline characters.
7905 If you are invoking the preprocessor from a shell or shell-like program you may need to use the shell's
7906 quoting syntax to protect characters such as spaces that have a meaning in the shell syntax.
7907 If you wish to define a function-like macro on the command line, write its argument list with surrounding
7908 parentheses before the equals sign (if any). Parentheses are meaningful to most shells, so you should
7909 quote the option. With sh and csh, -D'name(args...)=definition' works.
7910 -D and -U options are processed in the order they are given on the command line. All -imacros file and
7911 -include file options are processed after all -D and -U options.
7912 -U name
7913 Cancel any previous definition of name, either built in or provided with a -D option.
7914 -include file
7915 Process file as if "#include "file"" appeared as the first line of the primary source file. However, the
7916 first directory searched for file is the preprocessor's working directory instead of the directory
7917 containing the main source file. If not found there, it is searched for in the remainder of the "#include
7918 "..."" search chain as normal.
7919 If multiple -include options are given, the files are included in the order they appear on the command
7920 line.
7921 -imacros file
7922 Exactly like -include, except that any output produced by scanning file is thrown away. Macros it defines
7923 remain defined. This allows you to acquire all the macros from a header without also processing its
7924 declarations.
7925 All files specified by -imacros are processed before all files specified by -include.
7926 -undef
7927 Do not predefine any system-specific or GCC-specific macros. The standard predefined macros remain
7928 defined.
7929 -pthread
7930 Define additional macros required for using the POSIX threads library. You should use this option
7931 consistently for both compilation and linking. This option is supported on GNU/Linux targets, most other
7932 Unix derivatives, and also on x86 Cygwin and MinGW targets.
7933 -M Instead of outputting the result of preprocessing, output a rule suitable for make describing the
7934 dependencies of the main source file. The preprocessor outputs one make rule containing the object file
7935 name for that source file, a colon, and the names of all the included files, including those coming from
7936 -include or -imacros command-line options.
7937 Unless specified explicitly (with -MT or -MQ), the object file name consists of the name of the source file
7938 with any suffix replaced with object file suffix and with any leading directory parts removed. If there
7939 are many included files then the rule is split into several lines using \-newline. The rule has no
7940 commands.
7941 This option does not suppress the preprocessor's debug output, such as -dM. To avoid mixing such debug
7942 output with the dependency rules you should explicitly specify the dependency output file with -MF, or use
7943 an environment variable like DEPENDENCIES_OUTPUT. Debug output is still sent to the regular output stream
7944 as normal.
7945 Passing -M to the driver implies -E, and suppresses warnings with an implicit -w.
7946 -MM Like -M but do not mention header files that are found in system header directories, nor header files that
7947 are included, directly or indirectly, from such a header.
7948 This implies that the choice of angle brackets or double quotes in an #include directive does not in itself
7949 determine whether that header appears in -MM dependency output.
7950 -MF file
7951 When used with -M or -MM, specifies a file to write the dependencies to. If no -MF switch is given the
7952 preprocessor sends the rules to the same place it would send preprocessed output.
7953 When used with the driver options -MD or -MMD, -MF overrides the default dependency output file.
7954 If file is -, then the dependencies are written to stdout.
7955 -MG In conjunction with an option such as -M requesting dependency generation, -MG assumes missing header files
7956 are generated files and adds them to the dependency list without raising an error. The dependency filename
7957 is taken directly from the "#include" directive without prepending any path. -MG also suppresses
7958 preprocessed output, as a missing header file renders this useless.
7959 This feature is used in automatic updating of makefiles.
7960 -Mno-modules
7961 Disable dependency generation for compiled module interfaces.
7962 -MP This option instructs CPP to add a phony target for each dependency other than the main file, causing each
7963 to depend on nothing. These dummy rules work around errors make gives if you remove header files without
7964 updating the Makefile to match.
7965 This is typical output:
7966 test.o: test.c test.h
7967 test.h:
7968 -MT target
7969 Change the target of the rule emitted by dependency generation. By default CPP takes the name of the main
7970 input file, deletes any directory components and any file suffix such as .c, and appends the platform's
7971 usual object suffix. The result is the target.
7972 An -MT option sets the target to be exactly the string you specify. If you want multiple targets, you can
7973 specify them as a single argument to -MT, or use multiple -MT options.
7974 For example, -MT '$(objpfx)foo.o' might give
7975 $(objpfx)foo.o: foo.c
7976 -MQ target
7977 Same as -MT, but it quotes any characters which are special to Make. -MQ '$(objpfx)foo.o' gives
7978 $$(objpfx)foo.o: foo.c
7979 The default target is automatically quoted, as if it were given with -MQ.
7980 -MD -MD is equivalent to -M -MF file, except that -E is not implied. The driver determines file based on
7981 whether an -o option is given. If it is, the driver uses its argument but with a suffix of .d, otherwise
7982 it takes the name of the input file, removes any directory components and suffix, and applies a .d suffix.
7983 If -MD is used in conjunction with -E, any -o switch is understood to specify the dependency output file,
7984 but if used without -E, each -o is understood to specify a target object file.
7985 Since -E is not implied, -MD can be used to generate a dependency output file as a side effect of the
7986 compilation process.
7987 -MMD
7988 Like -MD except mention only user header files, not system header files.
7989 -fpreprocessed
7990 Indicate to the preprocessor that the input file has already been preprocessed. This suppresses things
7991 like macro expansion, trigraph conversion, escaped newline splicing, and processing of most directives.
7992 The preprocessor still recognizes and removes comments, so that you can pass a file preprocessed with -C to
7993 the compiler without problems. In this mode the integrated preprocessor is little more than a tokenizer
7994 for the front ends.
7995 -fpreprocessed is implicit if the input file has one of the extensions .i, .ii or .mi. These are the
7996 extensions that GCC uses for preprocessed files created by -save-temps.
7997 -fdirectives-only
7998 When preprocessing, handle directives, but do not expand macros.
7999 The option's behavior depends on the -E and -fpreprocessed options.
8000 With -E, preprocessing is limited to the handling of directives such as "#define", "#ifdef", and "#error".
8001 Other preprocessor operations, such as macro expansion and trigraph conversion are not performed. In
8002 addition, the -dD option is implicitly enabled.
8003 With -fpreprocessed, predefinition of command line and most builtin macros is disabled. Macros such as
8004 "__LINE__", which are contextually dependent, are handled normally. This enables compilation of files
8005 previously preprocessed with "-E -fdirectives-only".
8006 With both -E and -fpreprocessed, the rules for -fpreprocessed take precedence. This enables full
8007 preprocessing of files previously preprocessed with "-E -fdirectives-only".
8008 -fdollars-in-identifiers
8009 Accept $ in identifiers.
8010 -fextended-identifiers
8011 Accept universal character names and extended characters in identifiers. This option is enabled by default
8012 for C99 (and later C standard versions) and C++.
8013 -fno-canonical-system-headers
8014 When preprocessing, do not shorten system header paths with canonicalization.
8015 -fmax-include-depth=depth
8016 Set the maximum depth of the nested #include. The default is 200.
8017 -ftabstop=width
8018 Set the distance between tab stops. This helps the preprocessor report correct column numbers in warnings
8019 or errors, even if tabs appear on the line. If the value is less than 1 or greater than 100, the option is
8020 ignored. The default is 8.
8021 -ftrack-macro-expansion[=level]
8022 Track locations of tokens across macro expansions. This allows the compiler to emit diagnostic about the
8023 current macro expansion stack when a compilation error occurs in a macro expansion. Using this option makes
8024 the preprocessor and the compiler consume more memory. The level parameter can be used to choose the level
8025 of precision of token location tracking thus decreasing the memory consumption if necessary. Value 0 of
8026 level de-activates this option. Value 1 tracks tokens locations in a degraded mode for the sake of minimal
8027 memory overhead. In this mode all tokens resulting from the expansion of an argument of a function-like
8028 macro have the same location. Value 2 tracks tokens locations completely. This value is the most memory
8029 hungry. When this option is given no argument, the default parameter value is 2.
8030 Note that "-ftrack-macro-expansion=2" is activated by default.
8031 -fmacro-prefix-map=old=new
8032 When preprocessing files residing in directory old, expand the "__FILE__" and "__BASE_FILE__" macros as if
8033 the files resided in directory new instead. This can be used to change an absolute path to a relative path
8034 by using . for new which can result in more reproducible builds that are location independent. This option
8035 also affects "__builtin_FILE()" during compilation. See also -ffile-prefix-map.
8036 -fexec-charset=charset
8037 Set the execution character set, used for string and character constants. The default is UTF-8. charset
8038 can be any encoding supported by the system's "iconv" library routine.
8039 -fwide-exec-charset=charset
8040 Set the wide execution character set, used for wide string and character constants. The default is UTF-32
8041 or UTF-16, whichever corresponds to the width of "wchar_t". As with -fexec-charset, charset can be any
8042 encoding supported by the system's "iconv" library routine; however, you will have problems with encodings
8043 that do not fit exactly in "wchar_t".
8044 -finput-charset=charset
8045 Set the input character set, used for translation from the character set of the input file to the source
8046 character set used by GCC. If the locale does not specify, or GCC cannot get this information from the
8047 locale, the default is UTF-8. This can be overridden by either the locale or this command-line option.
8048 Currently the command-line option takes precedence if there's a conflict. charset can be any encoding
8049 supported by the system's "iconv" library routine.
8050 -fpch-deps
8051 When using precompiled headers, this flag causes the dependency-output flags to also list the files from
8052 the precompiled header's dependencies. If not specified, only the precompiled header are listed and not
8053 the files that were used to create it, because those files are not consulted when a precompiled header is
8054 used.
8055 -fpch-preprocess
8056 This option allows use of a precompiled header together with -E. It inserts a special "#pragma", "#pragma
8057 GCC pch_preprocess "filename"" in the output to mark the place where the precompiled header was found, and
8058 its filename. When -fpreprocessed is in use, GCC recognizes this "#pragma" and loads the PCH.
8059 This option is off by default, because the resulting preprocessed output is only really suitable as input
8060 to GCC. It is switched on by -save-temps.
8061 You should not write this "#pragma" in your own code, but it is safe to edit the filename if the PCH file
8062 is available in a different location. The filename may be absolute or it may be relative to GCC's current
8063 directory.
8064 -fworking-directory
8065 Enable generation of linemarkers in the preprocessor output that let the compiler know the current working
8066 directory at the time of preprocessing. When this option is enabled, the preprocessor emits, after the
8067 initial linemarker, a second linemarker with the current working directory followed by two slashes. GCC
8068 uses this directory, when it's present in the preprocessed input, as the directory emitted as the current
8069 working directory in some debugging information formats. This option is implicitly enabled if debugging
8070 information is enabled, but this can be inhibited with the negated form -fno-working-directory. If the -P
8071 flag is present in the command line, this option has no effect, since no "#line" directives are emitted
8072 whatsoever.
8073 -A predicate=answer
8074 Make an assertion with the predicate predicate and answer answer. This form is preferred to the older form
8075 -A predicate(answer), which is still supported, because it does not use shell special characters.
8076 -A -predicate=answer
8077 Cancel an assertion with the predicate predicate and answer answer.
8078 -C Do not discard comments. All comments are passed through to the output file, except for comments in
8079 processed directives, which are deleted along with the directive.
8080 You should be prepared for side effects when using -C; it causes the preprocessor to treat comments as
8081 tokens in their own right. For example, comments appearing at the start of what would be a directive line
8082 have the effect of turning that line into an ordinary source line, since the first token on the line is no
8083 longer a #.
8084 -CC Do not discard comments, including during macro expansion. This is like -C, except that comments contained
8085 within macros are also passed through to the output file where the macro is expanded.
8086 In addition to the side effects of the -C option, the -CC option causes all C++-style comments inside a
8087 macro to be converted to C-style comments. This is to prevent later use of that macro from inadvertently
8088 commenting out the remainder of the source line.
8089 The -CC option is generally used to support lint comments.
8090 -P Inhibit generation of linemarkers in the output from the preprocessor. This might be useful when running
8091 the preprocessor on something that is not C code, and will be sent to a program which might be confused by
8092 the linemarkers.
8093 -traditional
8094 -traditional-cpp
8095 Try to imitate the behavior of pre-standard C preprocessors, as opposed to ISO C preprocessors. See the
8096 GNU CPP manual for details.
8097 Note that GCC does not otherwise attempt to emulate a pre-standard C compiler, and these options are only
8098 supported with the -E switch, or when invoking CPP explicitly.
8099 -trigraphs
8100 Support ISO C trigraphs. These are three-character sequences, all starting with ??, that are defined by
8101 ISO C to stand for single characters. For example, ??/ stands for \, so '??/n' is a character constant for
8102 a newline.
8103 The nine trigraphs and their replacements are
8104 Trigraph: ??( ??) ??< ??> ??= ??/ ??' ??! ??-
8105 Replacement: [ ] { } # \ ^ | ~
8106 By default, GCC ignores trigraphs, but in standard-conforming modes it converts them. See the -std and
8107 -ansi options.
8108 -remap
8109 Enable special code to work around file systems which only permit very short file names, such as MS-DOS.
8110 -H Print the name of each header file used, in addition to other normal activities. Each name is indented to
8111 show how deep in the #include stack it is. Precompiled header files are also printed, even if they are
8112 found to be invalid; an invalid precompiled header file is printed with ...x and a valid one with ...! .
8113 -dletters
8114 Says to make debugging dumps during compilation as specified by letters. The flags documented here are
8115 those relevant to the preprocessor. Other letters are interpreted by the compiler proper, or reserved for
8116 future versions of GCC, and so are silently ignored. If you specify letters whose behavior conflicts, the
8117 result is undefined.
8118 -dM Instead of the normal output, generate a list of #define directives for all the macros defined during
8119 the execution of the preprocessor, including predefined macros. This gives you a way of finding out
8120 what is predefined in your version of the preprocessor. Assuming you have no file foo.h, the command
8121 touch foo.h; cpp -dM foo.h
8122 shows all the predefined macros.
8123 If you use -dM without the -E option, -dM is interpreted as a synonym for -fdump-rtl-mach.
8124 -dD Like -dM except in two respects: it does not include the predefined macros, and it outputs both the
8125 #define directives and the result of preprocessing. Both kinds of output go to the standard output
8126 file.
8127 -dN Like -dD, but emit only the macro names, not their expansions.
8128 -dI Output #include directives in addition to the result of preprocessing.
8129 -dU Like -dD except that only macros that are expanded, or whose definedness is tested in preprocessor
8130 directives, are output; the output is delayed until the use or test of the macro; and #undef directives
8131 are also output for macros tested but undefined at the time.
8132 -fdebug-cpp
8133 This option is only useful for debugging GCC. When used from CPP or with -E, it dumps debugging
8134 information about location maps. Every token in the output is preceded by the dump of the map its location
8135 belongs to.
8136 When used from GCC without -E, this option has no effect.
8137 -Wp,option
8138 You can use -Wp,option to bypass the compiler driver and pass option directly through to the preprocessor.
8139 If option contains commas, it is split into multiple options at the commas. However, many options are
8140 modified, translated or interpreted by the compiler driver before being passed to the preprocessor, and -Wp
8141 forcibly bypasses this phase. The preprocessor's direct interface is undocumented and subject to change,
8142 so whenever possible you should avoid using -Wp and let the driver handle the options instead.
8143 -Xpreprocessor option
8144 Pass option as an option to the preprocessor. You can use this to supply system-specific preprocessor
8145 options that GCC does not recognize.
8146 If you want to pass an option that takes an argument, you must use -Xpreprocessor twice, once for the
8147 option and once for the argument.
8148 -no-integrated-cpp
8149 Perform preprocessing as a separate pass before compilation. By default, GCC performs preprocessing as an
8150 integrated part of input tokenization and parsing. If this option is provided, the appropriate language
8151 front end (cc1, cc1plus, or cc1obj for C, C++, and Objective-C, respectively) is instead invoked twice,
8152 once for preprocessing only and once for actual compilation of the preprocessed input. This option may be
8153 useful in conjunction with the -B or -wrapper options to specify an alternate preprocessor or perform
8154 additional processing of the program source between normal preprocessing and compilation.
8155 -flarge-source-files
8156 Adjust GCC to expect large source files, at the expense of slower compilation and higher memory usage.
8157 Specifically, GCC normally tracks both column numbers and line numbers within source files and it normally
8158 prints both of these numbers in diagnostics. However, once it has processed a certain number of source
8159 lines, it stops tracking column numbers and only tracks line numbers. This means that diagnostics for
8160 later lines do not include column numbers. It also means that options like -Wmisleading-indentation cease
8161 to work at that point, although the compiler prints a note if this happens. Passing -flarge-source-files
8162 significantly increases the number of source lines that GCC can process before it stops tracking columns.
8163 Passing Options to the Assembler
8164 You can pass options to the assembler.
8165 -Wa,option
8166 Pass option as an option to the assembler. If option contains commas, it is split into multiple options at
8167 the commas.
8168 -Xassembler option
8169 Pass option as an option to the assembler. You can use this to supply system-specific assembler options
8170 that GCC does not recognize.
8171 If you want to pass an option that takes an argument, you must use -Xassembler twice, once for the option
8172 and once for the argument.
8173 Options for Linking
8174 These options come into play when the compiler links object files into an executable output file. They are
8175 meaningless if the compiler is not doing a link step.
8176 object-file-name
8177 A file name that does not end in a special recognized suffix is considered to name an object file or
8178 library. (Object files are distinguished from libraries by the linker according to the file contents.) If
8179 linking is done, these object files are used as input to the linker.
8180 -c
8181 -S
8182 -E If any of these options is used, then the linker is not run, and object file names should not be used as
8183 arguments.
8184 -flinker-output=type
8185 This option controls code generation of the link-time optimizer. By default the linker output is
8186 automatically determined by the linker plugin. For debugging the compiler and if incremental linking with
8187 a non-LTO object file is desired, it may be useful to control the type manually.
8188 If type is exec, code generation produces a static binary. In this case -fpic and -fpie are both disabled.
8189 If type is dyn, code generation produces a shared library. In this case -fpic or -fPIC is preserved, but
8190 not enabled automatically. This allows to build shared libraries without position-independent code on
8191 architectures where this is possible, i.e. on x86.
8192 If type is pie, code generation produces an -fpie executable. This results in similar optimizations as exec
8193 except that -fpie is not disabled if specified at compilation time.
8194 If type is rel, the compiler assumes that incremental linking is done. The sections containing
8195 intermediate code for link-time optimization are merged, pre-optimized, and output to the resulting object
8196 file. In addition, if -ffat-lto-objects is specified, binary code is produced for future non-LTO linking.
8197 The object file produced by incremental linking is smaller than a static library produced from the same
8198 object files. At link time the result of incremental linking also loads faster than a static library
8199 assuming that the majority of objects in the library are used.
8200 Finally nolto-rel configures the compiler for incremental linking where code generation is forced, a final
8201 binary is produced, and the intermediate code for later link-time optimization is stripped. When multiple
8202 object files are linked together the resulting code is better optimized than with link-time optimizations
8203 disabled (for example, cross-module inlining happens), but most of benefits of whole program optimizations
8204 are lost.
8205 During the incremental link (by -r) the linker plugin defaults to rel. With current interfaces to GNU
8206 Binutils it is however not possible to incrementally link LTO objects and non-LTO objects into a single
8207 mixed object file. If any of object files in incremental link cannot be used for link-time optimization,
8208 the linker plugin issues a warning and uses nolto-rel. To maintain whole program optimization, it is
8209 recommended to link such objects into static library instead. Alternatively it is possible to use H.J. Lu's
8210 binutils with support for mixed objects.
8211 -fuse-ld=bfd
8212 Use the bfd linker instead of the default linker.
8213 -fuse-ld=gold
8214 Use the gold linker instead of the default linker.
8215 -fuse-ld=lld
8216 Use the LLVM lld linker instead of the default linker.
8217 -fuse-ld=mold
8218 Use the Modern Linker (mold) instead of the default linker.
8219 -llibrary
8220 -l library
8221 Search the library named library when linking. (The second alternative with the library as a separate
8222 argument is only for POSIX compliance and is not recommended.)
8223 The -l option is passed directly to the linker by GCC. Refer to your linker documentation for exact
8224 details. The general description below applies to the GNU linker.
8225 The linker searches a standard list of directories for the library. The directories searched include
8226 several standard system directories plus any that you specify with -L.
8227 Static libraries are archives of object files, and have file names like liblibrary.a. Some targets also
8228 support shared libraries, which typically have names like liblibrary.so. If both static and shared
8229 libraries are found, the linker gives preference to linking with the shared library unless the -static
8230 option is used.
8231 It makes a difference where in the command you write this option; the linker searches and processes
8232 libraries and object files in the order they are specified. Thus, foo.o -lz bar.o searches library z after
8233 file foo.o but before bar.o. If bar.o refers to functions in z, those functions may not be loaded.
8234 -lobjc
8235 You need this special case of the -l option in order to link an Objective-C or Objective-C++ program.
8236 -nostartfiles
8237 Do not use the standard system startup files when linking. The standard system libraries are used
8238 normally, unless -nostdlib, -nolibc, or -nodefaultlibs is used.
8239 -nodefaultlibs
8240 Do not use the standard system libraries when linking. Only the libraries you specify are passed to the
8241 linker, and options specifying linkage of the system libraries, such as -static-libgcc or -shared-libgcc,
8242 are ignored. The standard startup files are used normally, unless -nostartfiles is used.
8243 The compiler may generate calls to "memcmp", "memset", "memcpy" and "memmove". These entries are usually
8244 resolved by entries in libc. These entry points should be supplied through some other mechanism when this
8245 option is specified.
8246 -nolibc
8247 Do not use the C library or system libraries tightly coupled with it when linking. Still link with the
8248 startup files, libgcc or toolchain provided language support libraries such as libgnat, libgfortran or
8249 libstdc++ unless options preventing their inclusion are used as well. This typically removes -lc from the
8250 link command line, as well as system libraries that normally go with it and become meaningless when absence
8251 of a C library is assumed, for example -lpthread or -lm in some configurations. This is intended for bare-
8252 board targets when there is indeed no C library available.
8253 -nostdlib
8254 Do not use the standard system startup files or libraries when linking. No startup files and only the
8255 libraries you specify are passed to the linker, and options specifying linkage of the system libraries,
8256 such as -static-libgcc or -shared-libgcc, are ignored.
8257 The compiler may generate calls to "memcmp", "memset", "memcpy" and "memmove". These entries are usually
8258 resolved by entries in libc. These entry points should be supplied through some other mechanism when this
8259 option is specified.
8260 One of the standard libraries bypassed by -nostdlib and -nodefaultlibs is libgcc.a, a library of internal
8261 subroutines which GCC uses to overcome shortcomings of particular machines, or special needs for some
8262 languages.
8263 In most cases, you need libgcc.a even when you want to avoid other standard libraries. In other words,
8264 when you specify -nostdlib or -nodefaultlibs you should usually specify -lgcc as well. This ensures that
8265 you have no unresolved references to internal GCC library subroutines. (An example of such an internal
8266 subroutine is "__main", used to ensure C++ constructors are called.)
8267 -e entry
8268 --entry=entry
8269 Specify that the program entry point is entry. The argument is interpreted by the linker; the GNU linker
8270 accepts either a symbol name or an address.
8271 -pie
8272 Produce a dynamically linked position independent executable on targets that support it. For predictable
8273 results, you must also specify the same set of options used for compilation (-fpie, -fPIE, or model
8274 suboptions) when you specify this linker option.
8275 -no-pie
8276 Don't produce a dynamically linked position independent executable.
8277 -static-pie
8278 Produce a static position independent executable on targets that support it. A static position independent
8279 executable is similar to a static executable, but can be loaded at any address without a dynamic linker.
8280 For predictable results, you must also specify the same set of options used for compilation (-fpie, -fPIE,
8281 or model suboptions) when you specify this linker option.
8282 -pthread
8283 Link with the POSIX threads library. This option is supported on GNU/Linux targets, most other Unix
8284 derivatives, and also on x86 Cygwin and MinGW targets. On some targets this option also sets flags for the
8285 preprocessor, so it should be used consistently for both compilation and linking.
8286 -r Produce a relocatable object as output. This is also known as partial linking.
8287 -rdynamic
8288 Pass the flag -export-dynamic to the ELF linker, on targets that support it. This instructs the linker to

 

| 责编:张剑锋

市售平板虽多,但能被用户记住的却寥寥无几。苹果iPad算是其中之一,不过其火热表现让不少山寨厂商开始盲目跟风,很大程度上造成了平板市场鱼龙混杂。为了让大家不再为选购平板头痛,本文只推荐了近期颇受用户认可且值得入手的产品。它们拥有金色大屏或两段式支架等个性轻薄外观设计,配置性能也非常给力,不少还加入了通话、3G上网或原笔迹手写的创新功能。近期有购机计划的朋友,不妨本文详细了解后再按需选择。

金色大屏领衔 近期最值得入手平板推荐

金色大屏长续航 联想YOGA刺金平板

联想YOGA刺金平板拥有玫瑰金色外观设计,符合大城市中的华丽与奢华。硬件顶级,101英寸1080P屏幕,显示超清晰,加上顶级四核处理器,可带来更好的使用体验。该机还内置了9000毫安时电池,续航长达18小时。目前该平板报价2499元,喜欢的朋友可放心入手。

产品特点:

·奢华的金色配色

·18小时超长续航能力

·杜比音效体验出色

联想YOGA刺金平板

联想YOGA刺金平板配置相当的强悍,拥有一块10.1英寸1920×1200分辨率屏幕,显示清晰度高;搭载MSM8268 ARM Cortex-A8四核处理器,主频1.6GHz,加上2GB运行内存和16GB存储空间,满足用户日常使用毫无压力。该机还后置800万像素自动AF对焦摄像头,拍照摄像效果更好。

 

 

联想 YOGA刺金平板 16GB-WIFI
上市时间 2014年05月
操作系统 Android4.3
处理器架构 ARM架构
处理器型号 MSM8268 ARM Cortex-A8
处理器主频 1.6GHz
处理器核心 四核心
显卡核心 四核心
系统内存 2GB
内存技术 LPDDR2
存储容量 16GB
存储扩展 支持Micro SD(TF)卡,最大支持64GB
屏幕尺寸 10.1英寸
屏幕分辨率 1920×1200
屏幕像素密度 224PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
屏幕特性 16:10,十点式触摸屏
支持语言 支持多国语言
WiFi功能 支持802.11b/g/n无线协议
网络模式 不支持3G网络
蓝牙功能 支持,蓝牙4.0模块
音效技术 杜比音频技术双立体声扬声器
麦克风 内置麦克风
视频播放 支持播放1080P视频
摄像头 双摄像头(前置:160万像素,后置:800万像素)
拍照功能 自动对焦
视频录制 支持录制1080P视频
Flash功能 支持Flash
电池类型 锂电池,9000毫安
续航时间 18小时左右,具体时间视使用环境而定
电源适配器 100V-240V 自适应交流电源供应器
内置感应 智能重力感应,环境光线感应,霍尔传感器
特色功能 支持指南针
预装应用 全新UI交互界面,预装热门中文应用:乐安全,安全备份,茄子快传,乐省电,友约等
产品尺寸 261×180×9.1-3.0mm
产品重量 619g
机壳材质 卷轴为铝合金金属材质,后壳为防滑蚀纹精雕喷漆工艺,镁铝合金框架
机壳颜色 刺金色

 

 

联想YOGA刺金平板

[购买地址] 天猫商城

最值得入手平板首选苹果iPadAir

iPad Air采用了精致的铝合金材质打造,加上磨砂工艺处理,手感非常不错。其硬件搭载了9.7英寸视网膜屏,加上全新A7双核,整机体验更好。该机还内置了4G模块,只需插入4G卡就可畅享百兆网速,目前,该平板深空灰4G版在京东商城报价4488元,喜欢的朋友不可错过。

苹果iPad Air(16GB/Cellular)

即使在没有无线网络信号的地方,iPad Air的 WLAN + Cellular 机型依然可以让你连接到互联网。iPad Air还支持更多蜂窝网络频段,可高速连接世界各地更多移动网络。现在,你能在更多地方享受高速网络连接,有时甚至比宽带还快。该机虽说处理器性能大幅升级,但依旧保证了10小时续航,更满足用户超长时间娱乐需求。

 

 

苹果 iPad Air(16GB/Cellular)
上市时间 2013年10月
产品定位 娱乐平板电脑
操作系统 iOS 7
处理器型号 苹果 A7
处理器核心 双核心
存储容量 16GB
存储扩展 不支持容量扩展
屏幕尺寸 9.7英寸
屏幕分辨率 2048×1536
屏幕像素密度 264PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
屏幕特性 防指纹涂层,视网膜屏幕
支持语言 支持多国语言
WiFi功能 支持802.11a/b/g/n无线协议
网络模式 电信3G(CDMA2000),联通3G(WCDMA)
蓝牙功能 支持,蓝牙4.0模块
音效技术 内置扬声器
麦克风 内置双麦克风
视频播放 支持播放2060P视频
摄像头 双摄像头(前置:120万像素,后置:500万像素)
拍照功能 面部检测,背照式感光,轻点控制视频或照片曝光,照片和视频地理标记功能,视频防抖动,摄制过程中轻点对焦,3倍视频变焦,自动对焦,5镜式镜头,混合红外线滤镜,ƒ/2.4光圈
视频录制 支持录制1080P视频
音频接口 3.5mm耳机接口
其他接口 Lightning接口,Nano-SIM卡插槽
功能按键 Home按键,开关按键,音量按键
电池类型 聚合物锂电池
续航时间 10小时左右,具体时间视使用环境而定
电源适配器 100V-240V 自适应交流电源供应器
内置感应 加速感应器,环境光线感应,三轴陀螺仪
特色功能 数字指南针,辅助全球卫星定位系统,蜂窝网络
基本应用 邮件,照片,信息,日历,视频,Siri,提醒事项,通讯录,相机,备忘录,时钟
预装应用 Safari,iBooks,地图,FaceTime,报刊杂志,iTunes Store,App Store,音乐,Photo Booth,Came Center
产品尺寸 240×169.5×7.5mm
产品重量 478g
机壳材质 复合材质
机壳颜色 深空灰色,银色

 

 

苹果iPad Air

[购买地址] 京东商城

大牌经典通话款 GALAXY Tab3 8.0

三星GALAXY Tab3拥有8.0英寸WXGA全触摸显示屏,分辨率高达1280×800,带来极佳的网页、多媒体浏览效果。厚度仅7.4mm,是市场同尺寸产品中较纤薄的,让用户轻松携带,舒适掌控。同时,极窄的边框拓宽了屏幕空间,让视野更开阔,方寸间尽享精彩。近日,该机在中拓数码采购商城报价1920元,促销特价中仅限每人一台,不可错过。

三星GALAXY Tab 3 8.0(T311)

三星GALAXY Tab 3 8.0搭载双核1.5GHz处理器,支持无缝多任务处理,能更快地加载网页、启动各种应用,让用户享受畅快淋漓的工作娱乐体验。内置最新Android4.2 智能操作系统,带来更灵敏的触控体验、更简洁美观的用户界面,让您各项操作都得心应手,游刃有余。其除自身拥有大储存空间外,还支持microSD扩展存储卡,更满足用户大容量文件存储需要。

 

 

三星 GALAXY Tab 3 8.0(T311)
上市时间 2013年07月
产品定位 娱乐平板电脑,手机平板电脑
操作系统 Android4.2
处理器架构 ARM架构
处理器主频 1.5GHz
处理器核心 双核心
显卡核心 双核心
系统内存 1.5GB
存储容量 16GB
存储介质 Flash 闪盘
存储扩展 支持Micro SD(TF)卡
屏幕尺寸 8英寸
屏幕分辨率 1280×800
屏幕像素密度 189PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
屏幕特性 TFT屏幕
支持语言 支持多国语言
WiFi功能 支持802.11a/b/g/n无线协议
网络模式 联通3G(WCDMA)
蓝牙功能 支持,蓝牙4.0模块
音效技术 内置扬声器
麦克风 内置麦克风
视频播放 支持播放720P视频
摄像头 双摄像头(前置:130万像素,后置:500万像素)
视频录制 支持录制1080P视频
数据接口 USB2.0
音频接口 3.5mm耳机接口
其他接口 电源接口,存储卡接口,SIM卡插槽
功能按键 开关按键,音量按键
电池类型 锂电池,4450毫安
续航时间 具体时间视使用环境而定
电源适配器 100V-240V 自适应交流电源供应器
GPS导航 内置GPS导航
内置感应 智能重力感应,环境光线感应
通讯功能 支持通话功能
预装应用 SamsungApps
产品尺寸 209.8×123.8×7.4mm
产品重量 316g
机壳材质 复合材质
机壳颜色 白色

 

 

三星 GALAXY Tab 3 8.0(T311)

[商家名称] 中拓数码采购商城总代理

[联系方式] 010-62680530 010-60190365

[商家地址] 北京市海淀区中关村亿世界大厦东门二层A区向左A2567#

多彩外观Z3745四核 华硕ME176CX

作为华硕全新上市的一款7英寸平板,ME176CX搭载了英特尔64位四核处理器,可提供惊人的性能输出,并保持了低功耗特点,让用户享受流畅的娱乐体验。Miracast无线显示技术还能将MeMOPad7 ME176CX上的多媒体内容实时显示到电视或外接屏幕上。近日,该机在京东商城预售999元,性价比颇高,值得入手。

华硕ME176CX

华硕ME176CX内置的靓彩技术可通过调节色温、色调与饱和度将影像优化,呈现鲜明生动的视觉效果,还原最靓丽的颜色世界。此外该机还进行重新设计,重295g,厚仅9.6mm,窄边框,配合7英寸屏幕,单手就可握持。该机还设置了双摄像头,虽说分辨率一般,但日常使用已足够。

 

 

华硕 MeMO Pad 7(ME176CX)
上市时间 2014年06月
产品定位 娱乐平板电脑
操作系统 Android4.4
处理器架构 X86架构
处理器技术 英特尔芯平板
处理器型号 IntelAtom Z3745
处理器主频 1.33GHz
最高频率 1.86GHz
处理器核心 四核心
显卡芯片 Intel HD Gen7 Graphic
显卡核心 四核心
系统内存 1GB
内存技术 LPDDR3
存储容量 8GB
存储介质 eMMC
存储扩展 支持Micro SD(TF)卡,最大支持64GB
屏幕尺寸 7英寸
屏幕分辨率 1280×800
屏幕像素密度 216PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
屏幕特性 十点式触摸屏,IPS屏幕
支持语言 支持多国语言
WiFi功能 支持802.11b/g/n无线协议
网络模式 不支持3G网络
蓝牙功能 支持,蓝牙4.0模块
音效技术 立体声扬声器
麦克风 内置麦克风
视频播放 支持播放1080P视频
摄像头 双摄像头(前置:30万像素,后置:200万像素)
视频录制 支持录制1080P视频
Flash功能 支持Flash
数据接口 1×Micro-USB2.0
音频接口 耳机/麦克风二合一接口
其他接口 电源接口,存储卡接口
功能按键 开关按键,音量按键
电池类型 聚合物锂电池,3910毫安
续航时间 9.5小时左右,具体时间视使用环境而定
电源适配器 100V-240V 自适应交流电源供应器
GPS导航 内置GPS导航
内置感应 智能重力感应
产品尺寸 189.3×113.7×9.6mm
产品重量 295g
机壳材质 复合材质
机壳颜色 黑色,白色,蓝色,黄色,红色

 

 

华硕ME176CX

原笔迹手写4G通话上网 E人E本T8

E人E本T8是一款为商务人士打造的顶级平板电脑,支持中国移动TDD-LTE 4G网络,专门定制的系统拥有各种对于商务应用的优化,而原笔迹手写功能更是经典,受到了商务人士的喜爱。目前,该平板在E人E本专卖售价4880元,购买还赠送蓝牙耳机,喜欢的朋友不可错过。

E人E本T8

E人E本T8的最特色优势之一就是拥有原笔迹的功能,而这也是很多纸质商务人士在这个电子化时代必不可少的重要工具。从T6时代开始就配备的专业级手写笔,在T8上拥有1024级的压感,并且提供了侧键防干扰开关,能够有效地降低手写笔侧功能按键的误触。其搭载了高通最新MSM8928四核处理器,主频1.6GHz,并配合2GB运行内存,内置32GB超大存储空间,日常使用轻松顺畅。依旧配备了专业级的Wacom1024级压感笔,并为非专业用户提供了侧键防干扰开关,以减少笔侧功能键的误触。

 

 

E人E本 T8
产品定位 商务平板电脑
操作系统 Android4.3
处理器架构 ARM架构
处理器型号 高通 Qualcomm MSM8928
处理器主频 1.6GHz
处理器核心 四核心
显卡核心 四核心
系统内存 2GB
内存技术 LPDDR2
存储容量 32GB
存储介质 eMMC
存储扩展 支持Micro SD(TF)卡
屏幕尺寸 8英寸
屏幕分辨率 1024×768
屏幕像素密度 160PPI
屏幕描述 电磁式触摸屏,多点式触摸屏
指取设备 触摸屏,电磁笔
屏幕特性 IPS屏幕,支持原笔迹手写
支持语言 支持多国语言
WiFi功能 WIFI无线上网
网络模式 联通3G(WCDMA),移动3G(TD-SCDMA),移动2G(GSM),4G TD-LTE
蓝牙功能 支持,蓝牙4.0模块
音效技术 内置扬声器
麦克风 内置麦克风
视频播放 支持播放720P视频
摄像头 双摄像头(前置:200万像素,后置:800万像素)
视频录制 支持录制1080P视频
数据接口 1×USB-HOST,1×Micro-USB2.0
音频接口 3.5mm耳机接口
电池类型 聚合物锂电池,5000毫安
GPS导航 内置GPS导航,支持A-GPS定位
内置感应 智能重力感应
特色功能 原笔迹手写技术
基本应用 Office软件,电子邮件,记事本,日历功能等
预装应用 智能办公套件,云平台等
产品尺寸 214×158×8.15mm
产品重量 385g
机壳材质 复合材质
机壳颜色 黑色

 

 

E人E本 T8

[商家名称] E人E本专卖厂家直销 张佳

[联系方式] 010-57473386

[商家地址] 北京市海淀区中关村E世界A座9层928B

金属便携身双卡双待 惠普Slate 7

惠普Slate 7通话平板支持WCDMA+GSM两种移动网络制式通话,搭载全新的立体声音频驱动,3D环绕音效,如临其境的立体声效果,给您一场完美的听觉盛宴。前置200万像素高清摄像头,自拍更出色,沟通更贴近,后置500万高速摄像头,拍摄零延迟,不放过生活中的每一处精彩瞬间。售价为1399元,需要的朋友不可错过。

惠普Slate 7

全新惠普Slate 7 3G具有4100mAh电池电量。搭载可高度配置的电源管理芯片(PMIC),可负荷高达三十组不同的供应电源,提供更长的电池续航力:音乐播放时间可达99小时52分,电影播放时间可达8小时16分钟,通话待机时间可达12天;超长娱乐体验,超凡通话时间,让精彩长久相伴。

 

 

惠普 Slate 7 3G(G1V99PA)
操作系统 Android4.2
处理器架构 ARM架构
处理器型号 Marvell PXA1088
处理器主频 1.2GHz
处理器核心 四核心
显卡核心 四核心
系统内存 1GB
内存技术 DDR2
存储容量 16GB
存储介质 eMMC
存储扩展 支持Micro SD(TF)卡,最大支持32GB
屏幕尺寸 7英寸
屏幕分辨率 1280×800
屏幕像素密度 216PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
支持语言 支持多国语言
WiFi功能 支持802.11b/g/n无线协议
网络模式 联通3G(WCDMA)
蓝牙功能 支持,蓝牙3.0模块
音效技术 内置扬声器
麦克风 内置麦克风
视频播放 支持播放1080P视频
摄像头 双摄像头(前置:200万像素,后置:500万像素)
视频录制 支持录制1080P视频
Flash功能 支持Flash
数据接口 1×Micro-USB2.0
音频接口 3.5mm耳机接口
其他接口 电源接口,存储卡接口,SIM卡插槽
功能按键 开关按键,音量按键
电池类型 锂电池,4100毫安
续航时间 8小时左右,具体时间视使用环境而定
电源适配器 100V-240V 10W 自适应交流电源供应器
GPS导航 内置GPS导航
内置感应 智能重力感应,三轴陀螺仪
产品尺寸 189×115×9.5mm
产品重量 325g
机壳材质 复合材质
机壳颜色 白色

 

 

惠普Slate 7 3G

全高清屏玩转商务办公 微软Surface2

微软Surface 2金属机身质感十足,拥有华丽的Metro界面,配上1080P显示屏幕,浏览网页和看视频视觉体验相当的出色。其还搭载强悍NVIDIATegra 4处理器,性能足够满足日常应用需求。目前该机在商家“中拓数码采购商城”售2150元,喜欢的朋友可前去咨询购买。

微软Surface 2

微软Surface 2外观延续了Surface的一贯设计风格,棱角分明,质感十足。独特的VaporMg的镁合金材质机身顾保证了日常使用的兼顾耐用,搭载了主流1.7GHz的Nvidia Tegra 4 T40四核处理器,加上2GB内存,可完美兼容主流office软件,轻松实现日常办公。

 

 

微软 Surface 2(2GB/32GB)
产品定位 笔记本平板电脑
操作系统 Windows RT 8.1
处理器架构 ARM架构
处理器型号 Nvidia Tegra 4 T40
处理器主频 1.7GHz
处理器核心 四核心
显卡核心 四核心
系统内存 2GB
存储容量 32GB
存储介质 SSD固态硬盘
屏幕尺寸 10.6英寸
屏幕分辨率 1920×1080
屏幕像素密度 208PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
屏幕特性 五点式触摸屏
支持语言 支持多国语言
WiFi功能 支持802.11a/b/g/n无线协议
蓝牙功能 支持,蓝牙4.0模块
音效技术 立体声扬声器
麦克风 内置双麦克风
视频播放 支持播放1080P视频
摄像头 双摄像头(前置:350万像素,后置:500万像素)
视频录制 支持录制1080P视频
Flash功能 支持Flash
数据接口 USB3.0
音频接口 3.5mm耳机接口
视频接口 Micro-HDMI接口
其他接口 电源接口,存储卡接口,键盘保护套接口
电池类型 锂电池,3150毫安
续航时间 10小时左右,具体时间视使用环境而定
内置感应 智能重力感应,环境光线感应,三轴陀螺仪
特色功能 电子罗盘
基本应用 电子邮件,日历功能,计算器,录音
预装应用 人脉,Internet Explorer 11,照片,音乐,视频,游戏,Fresh Paint,阅读列表,阅读器,扫描,新闻,天气,体育,旅游,理财,保健,美食,帮助,拍照,SkyDrive等
机壳材质 铝镁合金材质
机壳颜色 银色

 

 

微软 Surface 2(2GB/32GB)

Win8商务白菜价 Colorflyi106 Q1

Colorfly i106 Q1拥有10.1英寸大屏幕,能够轻松满足日常的商务和娱乐需求,搭载强悍的四核处理器和2GB运行内存,也保证了整机运行的顺畅。目前京东售价1699元,一机搞定商务与娱乐,值得入手。

·7900mAh电池/10小时长续航

·双200万像素摄像头

·精美一体成型机身设计

Colorfly i106 Q1

Colorfly i106 Q1外观设计质感十足,一体成型的机身坚固耐用,搭载了IntelAtom Z3740D处理器,主频1.33GHz,最高睿频1.83GHz,拥有2GB内存和32GB存储空间,10.1英寸的1280×800分辨率屏幕色彩出色,IPS材质也拥有更广的可视角度。内置7900毫安电池,纯待机时间可超过20天,无风扇正常使用下可超过10小时。

 

 

Colorfly i106 Q1
操作系统 Windows 8.1
处理器架构 X86架构
处理器技术 英特尔芯平板
处理器型号 Intel Atom Z3740D
处理器主频 1.33GHz
最高频率 1.83GHz
处理器核心 四核心
显卡芯片 PowerVR SGX 544
显卡核心 四核心
系统内存 2GB
内存技术 DDR3
存储容量 32GB
存储介质 eMMC
存储扩展 支持Micro SD(TF)卡
屏幕尺寸 10.1英寸
屏幕分辨率 1280×800
屏幕像素密度 149PPI
屏幕描述 电容式触摸屏,多点式触摸屏
指取设备 触摸屏
支持语言 支持多国语言
WiFi功能 支持802.11b/g/n无线协议
网络模式 支持外接3G扩展
蓝牙功能 支持,蓝牙4.0模块
音效技术 内置扬声器
麦克风 内置麦克风
视频播放 支持播放1080P视频
摄像头 双摄像头(前置:200万像素,后置:200万像素)
视频录制 支持录制720P视频
数据接口 1×Micro-USB2.0
音频接口 3.5mm耳机接口
其他接口 电源接口,存储卡接口
电池类型 锂电池,7900毫安
续航时间 具体时间视使用环境而定
电源适配器 DC(9V,2A)自适应交流电源供应器
内置感应 智能重力感应
产品尺寸 258×172×9.7mm
机壳材质 复合材质
机壳颜色 黑色

 

 

Colorfly i106 Q1

全文总结:

以上八款推荐平板皆出自品牌之手,外观有特色,做工精益求精;硬件方面,基本都选用大厂零部件,加上厂商深度优化,可为用户带来更好使用体验。而大家关心的售价,从999元至4880元不等,几乎覆盖了全消费阶层。除此外,这八款产品还拥有良好的售后服务和用户口碑,购买更令人放心。近期有平板购买计划的朋友,非常值得入手。

小时代3上映,联想YOGA刺金平板的关注度再度攀升,近期有什么值得关注的产品,今日文章将为你介绍。

张剑锋