The "N" editions of Windows 10 include the same functionality as other editions of Windows 10 except for media-related technologies. The N editions don't include Windows Media Player, Skype, or certain preinstalled media apps (Music, Video, Voice Recorder).If you use N editions of Windows 10, you must install other software from Microsoft or other companies to have this communication functionality; to play or create audio CDs, media files, and video DVDs; to stream music; and to take and store pictures. New features such as Cortana, Windows Hello, and PDF viewing in the new Edge browser rely on Windows Media files that aren't included in N editions. And some websites and software, such as Windows Store apps or Microsoft Office, use Windows Media-related files that aren't included in N editions.Users of N editions can make websites and software work correctly by installing the Media Feature Pack for N editions of Windows 10 (KB3133719).
Features Include File
Enables Windows Media Player features, such as the ability to play media files and audio CDs, manage media in a library, create a playlist, provide media metadata (including album art), create an audio CD, transfer music to a portable music player, and play streamed content from the website.
"Standards-based codec components" that enable Windows 10 software experiences such as Windows Media Player to support activities that include the playback and creation of multimedia files that are encoded with standards-based codecs.
Not all developments systems have the same include files. The__has_include and __has_include_next macros allowyou to check for the existence of an include file before doing a possiblyfailing #include directive. Include file checking macros must be usedas expressions in #if or #elif preprocessing directives.
This function-like macro takes a single file name string argument that is thename of an include file. It is like __has_include except that it looks forthe second instance of the given file found in the include paths. It evaluatesto 1 if the second instance of the file can be found using the include paths,or 0 otherwise:
Note that __has_include_next, like the GNU extension #include_nextdirective, is intended for use in headers only, and will issue a warning ifused in the top-level compilation file. A warning will also be issued if anabsolute path is used in the file argument.
Clang will treat the presence of this file as an indicator that the frameworkshould be treated as a system framework, regardless of how it was found in theframework search path. For consistency, we recommend that such files never beincluded in installed versions of the framework.
The __has_feature macro can be used to query if certain standard languagefeatures are enabled. The __has_extension macro can be used to query iflanguage features are available as an extension when compiling for a standardwhich does not provide them. The features which can be tested are listed here.
Since Clang 3.4, the C++ SD-6 feature test macros are also supported.These are macros with names of the form __cpp_, and areintended to be a portable way to query the supported features of the compiler.See the C++ status page forinformation on the version of SD-6 supported by each Clang release, and themacros provided by that revision of the recommendations.
The features listed below are part of the C11 standard. As a result, all thesefeatures are enabled with the -std=c11 or -std=gnu11 option whencompiling C code. Additionally, because these features are allbackward-compatible, they are available as extensions in all language modes.
Clang provides support for automated reference counting in Objective-C, which eliminates the needfor manual retain/release/autorelease message sends. There are threefeature macros associated with automatic reference counting:__has_feature(objc_arc) indicates the availability of automated referencecounting in general, while __has_feature(objc_arc_weak) indicates thatautomated reference counting also includes support for __weak pointers toObjective-C objects. __has_feature(objc_arc_fields) indicates that C structsare allowed to have fields that are pointers to Objective-C objects managed byautomatic reference counting.
With this extension it is possible to enable various language features thatare relying on function pointers using regular OpenCL extension pragmamechanism detailed in the OpenCL Extension Specification,section 1.2.
Please note that Clang does not and will not support all of the GCC builtinsfor vector operations. Instead of using builtins, you should use the functionsdefined in target-specific header files like , which defineportable wrappers for these. Many of the Clang versions of these functions areimplemented directly in terms of extended vector support instead of builtins, in order to reduce the number ofbuiltins that we need to implement.
__builtin_shufflevector is used to express generic vectorpermutation/shuffle/swizzle operations. This builtin is also very importantfor the implementation of various target-specific header files like.
The builtin __builtin_source_location returns a pointer to constant staticdata of type std::source_location::__impl. This type must have already beendefined, and must contain exactly four fields: const char *_M_file_name,const char *_M_function_name, _M_line, and _M_column. The fields will be populated in the samemanner as the above four builtins, except that _M_function_name is populatedwith __PRETTY_FUNCTION__ rather than __FUNCTION__.
Interleaving multiple loop iterations allows modern processors to furtherimprove instruction-level parallelism (ILP) using advanced hardware features,such as multiple execution units and out-of-order execution. The vectorizer usesa cost model that depends on the register pressure and generated code size toselect the interleaving count.
The #pragma clang fp pragma allows floating-point options to be specifiedfor a section of the source code. This pragma can only appear at file scope orat the start of a compound statement (excluding comments). When using within acompound statement, the pragma is active within the scope of the compoundstatement.
#pragma clang fp eval_method allows floating-point behavior to be specifiedfor a section of the source code. This pragma can appear at file or namespacescope, or at the start of a compound statement (excluding comments).The pragma is active within the scope of the compound statement.
The #pragma float_control pragma allows precise floating-pointsemantics and floating-point exception behavior to be specifiedfor a section of the source code. This pragma can only appear at file ornamespace scope, within a language linkage specification or at the start of acompound statement (excluding comments). When used within a compound statement,the pragma is active within the scope of the compound statement. This pragmais modeled after a Microsoft pragma with the same spelling and syntax. Forpragmas specified at file or namespace scope, or within a language linkagespecification, a stack is supported so that the pragma float_controlsettings can be pushed or popped.
The full syntax this pragma supports isfloat_control(exceptprecise, onoff [, push]) andfloat_control(pushpop).The push and pop forms, including using push as the optionalthird argument, can only occur at file scope.
Without the namespaces on the macros, other_function will be annotated with[[noreturn]] instead of __attribute__((unavailable)). This may seem likea contrived example, but its very possible for this kind of situation to appearin real code if the pragmas are spread out across a large file. You can test ifyour version of clang supports namespaces on #pragma clang attribute with__has_extension(pragma_clang_attribute_namespaces).
Clang supports the pragma #pragma clang restrict_expansion, which can beused restrict macro expansion in headers. This can be valuable when providingheaders with ABI stability requirements. Any expansion of the annotated macroprocessed by the preprocessor after the #pragma annotation will log awarning. Redefining the macro or undefining the macro will not be diagnosed, norwill expansion of the macro within the main source file. For example:
Clang supports an extension for source line control, which takes theform of a preprocessor directive starting with an unsigned integralconstant. In addition to the standard #line directive, this formallows control of an include stack and header file type, which is usedin issuing diagnostics. These lines are emitted in preprocessedoutput.
Features are self-contained units of installation code and dev container configuration, designed to work across a wide range of base container images. You can use features to quickly add tools, runtimes, or libraries to your codespace image. For more information, see the available features and features specification on the Development Containers website.
By default, the latest version of the feature will be used. To choose a different version, or configure other options for the feature, expand the properties listed under "Options" to view the available values, then add the options by manually editing the object in your devcontainer.json file.
The configuration changes will take effect in new codespaces created from the repository. To make the changes take effect in existing codespaces, you will need to pull the updates to the devcontainer.json file into your codespace, then rebuild the container for the codespace. For more information, see "Introduction to dev containers."
To add features in VS Code while you are working locally, and not connected to a codespace, you must have the "Dev Containers" extension installed and enabled. For more information about this extension, see the VS Code Marketplace.
Note that before v2.0.0, only variables which have been declared in the root or current scope were considered and that only the current file and calling files were considered when looking for a variable.
It can be useful to prepend a selector to the inherited (parent) selectors. This can be done by putting the & after current selector.For example, when using Modernizr, you might want to specify different rules based on supported features: 2ff7e9595c
Comments