File I/O for Game Developers: Past, Present, and FutureFILE I/O: PAST, PRESENT AND FUTURE CPPCON OCTOBER 3RD 2023 GUY DAVIDSON @HATCAT01INTRODUCTIONS • Head of Engineering Practice at Creative Assembly • 1980 – Acorn Atom • ISO/IEC JTC1/SC22/WG21 • BSI Why do we have files? • What is a filesystem? • Why should we avoid buffered file IO? • How do we optimise unbuffered file IO? • How might the standard help us in future?AGENDA • Sub-megabyte days • More RAM, more disk capacity • Moving data into and out of RAM • File IO in C++ from fstream to the OS SDK • The 64-bit address spaceSUB-MEGABYTE DAYS • Why do we have files?SUB- MEGABYTE DAYSSUB-0 码力 | 64 页 | 2.69 MB | 6 月前3
Shared Libraries and Where To Find Thembehaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. ■ ld-prime (available since Xcode 15) ● Dynamic linker/loader: dyld ● File extensions: ○ dylib, so, framework, (tbd) ● File inspection: ● otool, vtool ● Post-build modifications: ○ install_name_toolmacOS System libraries are in the SDK ○ Frameworks have their own search pathsMach-o binaries otool: object file displaying tool -L: display shared library dependenciesDynamic library identification Every dynamic0 码力 | 94 页 | 6.49 MB | 6 月前3
Conan 1.20 Documentationstrongly recommended to use Python 3 with Conan, especially if need to manage non-ascii filenames or file contents. Conan still supports Python 2, however some of the dependencies have started to be supported in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 611 页 | 4.89 MB | 1 年前3
Conan 1.19 Documentationstrongly recommended to use Python 3 with Conan, especially if need to manage non-ascii filenames or file contents. Conan still supports Python 2, however some of the dependencies have started to be supported in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 609 页 | 4.88 MB | 1 年前3
Conan 1.16 Documentationstrongly recommended to use Python 3 with Conan, especially if need to manage non-ascii filenames or file contents. Conan still supports Python 2, however some of the dependencies have started to be supported or .txt). config Manages configuration. Edits the conan.conf or installs config files. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 545 页 | 4.34 MB | 1 年前3
Conan 1.26 Documentationimproving the reproducibility and traceability of artifacts. A package is defined by a “conanfile.py”, a file that defines the package dependencies, the sources, how to build the binaries from sources, etc. One in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 669 页 | 5.51 MB | 1 年前3
Conan 1.23 Documentationimproving the reproducibility and traceability of artifacts. A package is defined by a “conanfile.py”, a file that defines the package dependencies, the sources, how to build the binaries from sources, etc. One in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 637 页 | 5.04 MB | 1 年前3
Conan 1.22 Documentationimproving the reproducibility and traceability of artifacts. A package is defined by a “conanfile.py”, a file that defines the package dependencies, the sources, how to build the binaries from sources, etc. One in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 629 页 | 4.98 MB | 1 年前3
Conan 1.24 Documentationimproving the reproducibility and traceability of artifacts. A package is defined by a “conanfile.py”, a file that defines the package dependencies, the sources, how to build the binaries from sources, etc. One in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 647 页 | 5.31 MB | 1 年前3
Conan 1.25 Documentationimproving the reproducibility and traceability of artifacts. A package is defined by a “conanfile.py”, a file that defines the package dependencies, the sources, how to build the binaries from sources, etc. One in a recipe (conanfile.py or conanfile. ˓→txt). config Manages Conan configuration. get Gets a file or list a directory of a given reference or package. info Gets information about the dependency graph exe, .deb), download the new installer and execute it. The default/.conan/settings.yml file, containing the definition of compiler versions, etc., will be upgraded if Conan does not detect local 0 码力 | 655 页 | 5.45 MB | 1 年前3
共 216 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22













