Think about it this way, the G-C content is averaged over the entire genome, and varies between different species. Whether you are dealing with prokaryotes, with relatively compact genomes, or with eukaryotes, with lots of non-coding regions, the open reading frames will, in general, be influenced by the average G-C content across the genome. Therefore we would predict that in species with lower G-C their open reading frames would be biased to using the codons in the genetic code that are higher in A-T. N.B. this also means that their tRNAs should also favour anticodons higher in A-T. In contrast, we would predict that in species with high G-C content, the open reading frames would be biased, in general, to using codons that are higher in G-C.
That is all G-C bias in codons is; for some amino acids like Met and Trp, there is only a single codon, but for other amino acids there can be up to six codons that can each encode the same amino acid side chain. It is in these ones with a higher number of degenerate codons that you are going to see the effect of codon bias.