
เจฎเฉเจเจฌเฉฐเจง
เจฆเฉเจจเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจ
เจเจฟเจนเฉ เจธเจงเจพเจฐเจจ เจ
เจคเฉ เจฌเจนเฉเจค เจเจชเจฏเฉเจเฉ เจเจชเจฏเฉเจเจคเจพ เจนเฉ - , เจ
เจคเฉ เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉเจเจ เจเจฟ เจเจน เจฌเจนเฉเจค เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจคเฉเจ เจธเจพเจกเฉ เจเจคเจชเจพเจฆเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจธเฉ (เจนเจพเจฒเจพเจเจเจฟ เจเจธเจฆเจพ เจธเฉฐเจธเจเจฐเจฃ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจธเฉฐเจญเจต เจจเจนเฉเจ เจธเฉ, เจชเจฐ เจเจน เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจเจเจฐเฉ เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจธเฉ)เฅค เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจเจธเจฆเฉ เจเจฆเฉเจธเจผ เจเจฆเฉเจธเจผ เจฒเจ เจตเจฐเจคเจฆเฉ เจนเจพเจ - เจฌเจพเจเจจเจฐเฉ เจชเฉเจ เจฌเจฃเจพเจเจฃเจพเฅค เจเฉ เจคเฉเจธเฉเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจเฉ เจนเฉ เจเจธ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเจน เจฅเฉเฉเจพ เจเจฆเจพเจธ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ: เจ
เจธเจฒ เจตเจฟเฉฑเจ, เจเจธเจจเฉเฉฐ เจฌเจนเฉเจค เจธเจฎเจพเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ เจ
เจคเฉ เจเจธเจฆเจพ เจฌเจนเฉเจค เจธเจพเจฐเจพ เจนเจฟเฉฑเจธเจพ เจฌเจนเฉเจค เจชเฉเจฐเจพเจฃเจพ เจนเฉ (เจฎเฉเจฐเฉ เจธเจพเจฌเจเจพ เจธเจนเจฟเจฏเฉเจเฉ เจจเฉ เจเฉฑเจ เจตเจพเจฐ เจเฉฑเจฅเฉ เจเจ เจธเฉฐเจชเจพเจฆเจจ เจเฉเจคเฉ เจธเจจ, เจชเจฐ เจเจน เจฌเจนเฉเจค เจธเจฎเจพเจ เจชเจนเจฟเจฒเจพเจ เจธเฉ) . เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจฎเฉเจ เจเจธ เจฎเจพเจฎเจฒเฉ เจจเฉเฉฐ เจฎเฉเฉ เจเจผเจฟเฉฐเจฆเจพ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ: เจฎเฉเจ เจซเฉเจฐเจ เจเฉเจคเจพ, เจเจน เจเฉเจเจผ เจฌเจพเจนเจฐ เจธเฉเฉฑเจ เจฆเจฟเฉฑเจคเฉ เจเฉ เจฎเฉเจ เจตเจฐเจคเจฃ เจฆเฉ เจฏเฉเจเจจเจพ เจจเจนเฉเจ เจธเฉ, เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ , เจเจจเจฒเจพเจเจจเจก "เจนเฉเจ" เจฎเจพเจเจเฉเจฐเฉเจซเฉฐเจเจธเจผเจจ, เจธเจเฉเจ เจคเฉเจ เจตเฉฑเจกเฉ เจเจฐเฉ เจนเจเจพเจ (เจ
เจคเฉ เจตเฉเจฐเฉเจเจฌเจฒ เจฒเฉฐเจฌเจพเจ เจฆเฉ เจเจฐเฉ, เจเฉ เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจฎเฉเจจเฉเฉฐ "เจฌเฉฐเจฌ" เจฌเจฃเจพเจเจเจฆเฉ เจนเจจ), เจชเฉเจฐเฉเจซเจพเจเจฒเจฐ เจจเฉเฉฐ เจเฉฑเจ เจตเจพเจฐ เจซเจฟเจฐ เจเจฒเจพเจเจ - เจ
เจคเฉ เจชเจคเจพ เจฒเฉฑเจเจพ เจเจฟ เจฒเจเจญเจ 40% เจธเจฎเจพเจ เจเจธ 'เจคเฉ เจเจฐเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ ...
เจคเจพเจ fwrite เจจเจพเจฒ เจเฉ เจนเฉ เจฐเจฟเจนเจพ เจนเฉ?
เจเจธ เจเฉเจก เจตเจฟเฉฑเจ, fwrite (เจฎเฉเจฐเฉ เจเจพเจธ เจเฉเจธเจ เจเฉเจธ เจตเจฟเฉฑเจ: เจเจฐเฉเจฌ 300 MB เจซเจพเจเจฒเจพเจ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจชเฉเจ เจฌเจฃเจพเจเจฃเจพ, เจเจจเจชเฉเจ เจกเฉเจเจพ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฎเฉเจฎเฉเจฐเฉ เจตเจฟเฉฑเจ เจนเฉ) เจจเฉเฉฐ เจเฉฑเจ เจเฉเจเฉ เจฌเจซเจฐ เจเจเจพเจฐ เจจเจพเจฒ เจฒเฉฑเจเจพเจ เจตเจพเจฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ, เจเจน เจเฉเจเจผ เจนเฉเจฒเฉ เจนเฉ เจเจพเจตเฉเจเฉ, เจ เจคเฉ เจเจธ เจฒเจ เจฎเฉเจ เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ เจเจธ เจฌเฉเจเฉฑเจเจผเจคเฉ เจจเฉเฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ. เจเจ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจกเฉเจเจพ เจธเจฐเฉเจคเจพเจ, เจ เจธเจฟเฉฐเจเจฐเฉเจจเจธ เจเจจเจชเฉเจ-เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจ เจเฉ เจคเฉฑเจ เจเฉเจ เจเฉฑเจเจพ เจจเจนเฉเจ เจนเฉ, เจฎเฉเจ เจเฉฑเจ เจธเจฐเจฒ เจนเฉฑเจฒ เจฒเฉฑเจญเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ. เจชเจนเจฟเจฒเฉ เจเฉฑเจฒ เจเฉ เจฎเจจ เจตเจฟเฉฑเจ เจเจ เจเจน เจธเฉ เจฌเจซเจฐ เจฆเจพ เจเจเจพเจฐ เจตเจงเจพเจเจฃเจพ
setvbuf(file, nullptr, _IOFBF, 64* 1024)เจชเจฐ เจฎเฉเจจเฉเฉฐ เจจเจคเฉเจเฉ เจตเจฟเฉฑเจ เจเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจธเฉเจงเจพเจฐ เจจเจนเฉเจ เจฎเจฟเจฒเจฟเจ (เจนเฉเจฃ fwrite เจธเจฎเฉเจ เจฆเฉ เจฒเจเจญเจ 37% เจฒเจ เจเจพเจคเจพ เจนเฉ) - เจเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเจน เจ เจเฉ เจตเฉ เจกเจฟเจธเจ 'เจคเฉ เจ เจเจธเจฐ เจกเฉเจเจพ เจฒเจฟเจเจฃ เจฆเฉ เจเฉฑเจฒ เจจเจนเฉเจ เจนเฉเฅค fwrite เจฆเฉ "เจนเฉเฉฑเจก เจฆเฉ เจนเฉเจ เจพเจ" เจฆเฉเจเจฆเฉ เจนเฉเจ, เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเฉฑเจ เจฒเจพเจ/เจ เจจเจฒเจพเจ FILE เจขเจพเจเจเจพ เจเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจนเฉ เจฐเจฟเจนเจพ เจนเฉ (เจธเฉเจกเฉ-เจเฉเจก, เจธเจพเจฐเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจตเจฟเจเจผเฉเจ เจฒ เจธเจเฉเจกเฉเจ 2017 เจฆเฉ เจ เจงเฉเจจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ):
size_t fwrite (const void *buffer, size_t size, size_t count, FILE *stream)
{
size_t retval = 0;
_lock_str(stream); /* lock stream */
__try
{
retval = _fwrite_nolock(buffer, size, count, stream);
}
__finally
{
_unlock_str(stream); /* unlock stream */
}
return retval;
}
เจชเฉเจฐเฉเจซเจพเจเจฒเจฐ เจฆเฉ เจ เจจเฉเจธเจพเจฐ, _fwrite_nolock เจธเจฟเจฐเจซ 6% เจธเจฎเฉเจ เจฒเจ เจเจพเจคเจพ เจนเฉ, เจฌเจพเจเฉ เจเจตเจฐเจนเฉเฉฑเจก เจนเฉเฅค เจฎเฉเจฐเฉ เจเจพเจธ เจเฉเจธ เจตเจฟเฉฑเจ, เจฅเจฐเจฟเฉฑเจก เจธเฉเจฐเฉฑเจเจฟเจ เจธเจชเฉฑเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจเจตเจฐเจเจฟเจฒ เจนเฉ, เจเจธ เจฒเจ เจฎเฉเจ fwrite เจเจพเจฒ เจจเฉเฉฐ เจเจธ เจจเจพเจฒ เจฌเจฆเจฒ เจเฉ เจเฉเจฐเจฌเจพเจจ เจเจฐเจพเจเจเจพ - เจคเฉเจนเจพเจจเฉเฉฐ เจฆเจฒเฉเจฒเจพเจ เจจเจพเจฒ เจนเฉเจธเจผเจฟเจเจฐ เจนเฉเจฃ เจฆเฉ เจตเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจเฉเฉฑเจฒ: เจเจธ เจธเจงเจพเจฐเจฃ เจนเฉเจฐเจพเจซเฉเจฐเฉ เจจเฉ เจจเจคเฉเจเจพ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฆเฉ เจฒเจพเจเจค เจจเฉเฉฐ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจเจพ เจฆเจฟเฉฑเจคเจพ, เจเฉ เจเจฟ เจ เจธเจฒ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจเจฐเจเฉ เจเจ เจธเจฎเฉเจ เจฆเฉ เจฒเจเจญเจ เจ เฉฑเจงเฉ เจฆเฉ เจฌเจฐเจพเจฌเจฐ เจธเฉเฅค เจคเจฐเฉเจเฉ เจจเจพเจฒ, เจชเฉเจธเจฟเจเจธ เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจฎเจพเจจ เจซเฉฐเจเจธเจผเจจ เจนเฉ - . เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจนเฉ เจซเจฐเฉเฉฑเจก 'เจคเฉ เจฒเจพเจเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ. เจเจธ เจคเจฐเฉเจนเจพเจ, # เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ เจฆเฉ เจเฉฑเจ เจเฉเฉเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจคเฉเจธเฉเจ เจฌเฉเจฒเฉเฉเฉ เจคเจพเจฒเฉ เจฆเฉ เจฌเจฟเจจเจพเจ เจเฉฑเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจฐเจพเจธ-เจชเจฒเฉเจเจซเจพเจฐเจฎ เจนเฉฑเจฒ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจเฉเจเจฐ เจเจน เจเจผเจฐเฉเจฐเฉ เจจเจนเฉเจ เจนเจจ (เจ เจคเฉ เจ เจเจฟเจนเจพ เจ เจเจธเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉ)เฅค
fwrite, _fwrite_nolock, setvbuf
เจเจ เจฎเฉเจฒ เจชเฉเจฐเฉเจเฉเจเจ เจคเฉเจ เจฆเฉเจฐ เจเจฒเฉ เจเจพเจเจ เจ เจคเฉ เจเฉฑเจ เจเจพเจธ เจเฉเจธ เจฆเฉ เจเจพเจเจ เจเจฐเจจ 'เจคเฉ เจงเจฟเจเจจ เจเฉเจเจฆเจฐเจฟเจค เจเจฐเฉเจ: เจเฉฑเจ เจตเฉฑเจกเฉ เจซเจพเจเจฒ (512 MB) เจจเฉเฉฐ เจฌเจนเฉเจค เจเฉเจเฉ เจนเจฟเฉฑเจธเจฟเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจฃเจพโเจนเจฐเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเจพเจเจเฅค เจเฉเจธเจ เจธเจฟเจธเจเจฎ: AMD Ryzen 7 1700, 16 GB RAM, 7200 rpm HDD, 64 MB เจเฉเจธเจผเฅค Windows 10 1809 เจตเจฟเฉฑเจ, เจฌเจพเจเจจเจฐเฉ เจจเฉเฉฐ 32-เจฌเจฟเฉฑเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฌเจฃเจพเจเจ เจเจฟเจ เจธเฉ, เจ เจจเฉเจเฉเจฒเจคเจพ เจธเจฎเจฐเฉฑเจฅ เจนเฉ, เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจธเจฅเจฟเจฐ เจคเฉเจฐ 'เจคเฉ เจฒเจฟเฉฐเจ เจเฉเจคเฉ เจเจ เจนเฉเฅค
เจชเฉเจฐเจฏเฉเจ เจฒเจ เจจเจฎเฉเจจเจพ:
#include <chrono>
#include <cstdio>
#include <inttypes.h>
#include <memory>
#ifdef _MSC_VER
#define fwrite_unlocked _fwrite_nolock
#endif
using namespace std::chrono;
int main()
{
std::unique_ptr<FILE, int(*)(FILE*)> file(fopen("test.bin", "wb"), fclose);
if (!file)
return 1;
constexpr size_t TEST_BUFFER_SIZE = 256 * 1024;
if (setvbuf(file.get(), nullptr, _IOFBF, TEST_BUFFER_SIZE) != 0)
return 2;
auto start = steady_clock::now();
const uint8_t b = 77;
constexpr size_t TEST_FILE_SIZE = 512 * 1024 * 1024;
for (size_t i = 0; i < TEST_FILE_SIZE; ++i)
fwrite_unlocked(&b, 1, sizeof(b), file.get());
auto end = steady_clock::now();
auto interval = duration_cast<microseconds>(end - start);
printf("Time: %lldn", interval.count());
return 0;
}
เจตเฉเจฐเฉเจเจฌเจฒ TEST_BUFFER_SIZE เจนเฉเจฃเจเฉ, เจ เจคเฉ เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจฒเจ เจ เจธเฉเจ fwrite_unlocked เจจเฉเฉฐ fwrite เจจเจพเจฒ เจฌเจฆเจฒ เจฆเฉเจตเจพเจเจเฉเฅค เจเจ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจฌเจซเจฐ เจธเจพเจเจเจผ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ fwrite เจเฉเจธ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ (setvbuf เจ เจคเฉ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจเฉเจก เจจเฉเฉฐ เจเจฟเฉฑเจชเจฃเฉ เจเจฐเฉ): เจธเจฎเจพเจ 27048906 ยตs, เจฒเจฟเจเจฃ เจฆเฉ เจเจคเฉ - 18.93 MB/sเฅค เจนเฉเจฃ เจฌเจซเจฐ เจฆเจพ เจเจเจพเจฐ 64 KB 'เจคเฉ เจธเฉเฉฑเจ เจเจฐเฉเจ: เจธเจฎเจพเจ - 25037111 ฮผs, เจธเจชเฉเจก - 20.44 Mb/sเฅค เจเจ เจนเฉเจฃ setvbuf เจจเฉเฉฐ เจเจพเจฒ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ _fwrite_nolock เจฆเฉ เจธเฉฐเจเจพเจฒเจจ เจฆเฉ เจเจพเจเจ เจเจฐเฉเจ: 7262221 ยตs, เจธเจชเฉเจก - 70.5 Mb/s!
เจ เฉฑเจเฉ, เจเจ เจฌเจซเจฐ เจเจเจพเจฐ (setvbuf) เจจเจพเจฒ เจชเฉเจฐเจฏเฉเจ เจเจฐเฉเจ:

เจกเจพเจเจพ เจเจธเจคเจจ 5 เจชเฉเจฐเจฏเฉเจเจพเจ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ เจเจฟเจ เจธเฉ; เจฎเฉเจ เจเจฒเจคเฉเจเจ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจฒเจ เจฌเจนเฉเจค เจเจฒเจธเฉ เจธเฉเฅค เจฎเฉเจฐเฉ เจฒเจ, 93 MB/s เจเจฆเฉเจ เจเฉฑเจ เจจเจฟเจฏเจฎเจค HDD เจตเจฟเฉฑเจ 1 เจฌเจพเจเจ เจฒเจฟเจเจฃเจพ เจเฉฑเจ เจฌเจนเฉเจค เจตเจงเฉเจ เจจเจคเฉเจเจพ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจ
เจจเฉเจเฉเจฒ เจฌเจซเจผเจฐ เจเจเจพเจฐ (เจฎเฉเจฐเฉ เจเฉเจธ เจตเจฟเฉฑเจ, 256 KB เจฌเจฟเจฒเจเฉเจฒ เจธเจนเฉ เจนเฉ) เจฆเฉ เจเฉเจฃ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจ
เจคเฉ fwrite เจจเฉเฉฐ _fwrite_nolock/fwrite_unlocked เจจเจพเจฒ เจฌเจฆเจฒเฉ ( เจเฉ เจงเจพเจเฉ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจฌเฉเจธเจผเจ).
เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจ เจธเจฅเจฟเจคเฉเจเจ เจตเจฟเฉฑเจ เจซเจฐเฉเฉฑเจก เจฆเฉ เจจเจพเจฒ. เจเจฟเจเจเจเจฟ เจฎเฉเจฐเฉ เจเฉเจฒ เจฒเฉเจจเจเจธ เจตเจพเจฒเฉ เจนเจพเจฐเจกเจตเฉเจ
เจฐ เจฎเจธเจผเฉเจจ เจจเจนเฉเจ เจนเฉ (เจธเจฟเฉฐเจเจฒ-เจฌเฉเจฐเจก เจเฉฐเจชเจฟเจเจเจฐเจพเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจจเจนเฉเจ เจนเฉ), เจฎเฉเจ เจเฉฑเจ เจตเจฐเจเฉเจ
เจฒ เจฎเจธเจผเฉเจจ (เจนเจพเจเจชเจฐ-เจตเฉ, เจเจชเจจเจธเฉเจธเฉ 15, เจเฉเจธเฉเจธเฉ 8.3.1) 'เจคเฉ เจเฉฑเจ เจธเฉเจฎเจค เจชเฉเจฐเจฏเฉเจ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ - เจชเฉเจเจฐเจจ, เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจเจนเฉ เจนเฉ: โเจจเฉฐเจเฉโ fwrite 20 Mb/s, fwrite + 256 KB เจฌเจซเจฐ เจจเฉ 23 Mb/s, fwrite_unlocked เจเจธเฉ เจฌเจซเจฐ เจจเจพเจฒ - 35 Mb/s (64-เจฌเจฟเฉฑเจ เจฌเจพเจเจจเจฐเฉ, เจ
เจธเฉเจเจฌเจฒเจก g++ -o2 - s -static-libgcc -static-libstdc++ fwrite_test. cpp -o fwrite_test)เฅค
เจฌเจพเจ เจฆ
เจเจธ เจฒเฉเจ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจฆเจพ เจเจฆเฉเจธเจผ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ เจคเจเจจเฉเจ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจจเจพ เจธเฉ (เจฎเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจฆเฉ เจตเฉ _fwrite_nolock/fwrite_unlocked เจซเฉฐเจเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจเจเจ, เจเจน เจฌเจนเฉเจค เจฎเจธเจผเจนเฉเจฐ เจจเจนเฉเจ เจนเจจ - เจชเจฐ เจตเจฟเจ เจฐเจฅ)เฅค เจฎเฉเจ เจเจน เจฆเจฟเจเจพเจตเจพ เจจเจนเฉเจ เจเจฐเจฆเจพ เจเจฟ เจธเจฎเฉฑเจเจฐเฉ เจจเจตเฉเจ เจนเฉ, เจชเจฐ เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจฒเฉเจ เจญเจพเจเจเจพเจฐเฉ เจฒเจ เจฒเจพเจญเจฆเจพเจเจ เจนเฉเจตเฉเจเจพเฅค
เจธเจฐเฉเจค: www.habr.com
